2013-08-12 13 views
8

Ich habe eine Datei namens test. Auch nach dem Kompilieren mit -g, wenn ich es in gdb ausführe, heißt es, dass keine Debugsymbole gefunden wurden. Ich habe auch versucht, -ggdb zu verwenden, aber es war auch nutzlos. Bitte helfen Sie.gdb: (keine Debugging-Symbole gefunden)

Output for : gdb test 

This GDB was configured as "x86_64-linux-gnu". 
For bug reporting instructions, please see: 
<http://www.gnu.org/software/gdb/bugs/>... 
Reading symbols from /usr/bin/test...(no debugging symbols found)...done. 

Antwort

7

Das Problem ist, dass Sie das falsche Programm zu debuggen versuchen.

Ihr Programm heißt test und Sie debuggen /usr/bin/test (ein Systemprogramm, das fast sicher ohne Symbole ausgeliefert wird; selbst wenn es Symbole enthielt, würden sie sich nicht auf Ihren Quellcode beziehen).

gdb sucht $PATH, um die ausführbare Datei zu finden. Von here:

exec-Datei [Dateiname] Gibt an, dass das Programm ausgeführt werden soll (aber nicht die Symboltabelle) in Dateinamen gefunden. gdb durchsucht die Umgebung Variable PATH wenn notwendig, um Ihr Programm zu finden. Das Auslassen des Dateinamens bedeutet, Informationen über die ausführbare Datei zu verwerfen.

Versuchen Sie, den Befehl:

$ gdb ./test 
+0

Es wird einfach gesagt, dass keine solche Datei oder kein Verzeichnis gefunden wurde. Ich folgte ein Tutorial auf Web auf Gdb und das ist, wo sie gebeten, gdb Test zu verwenden, wenn der Programmname test.cpp war – psyc0der

+0

Und existiert die Datei './Test'? – trojanfoe

+0

Ich glaube, ./test ist eine Möglichkeit, test.out auszuführen. Und ich habe test.cpp mit Ausgabe in test.out – psyc0der

0

Sie sicher, dass die ausführbare Datei nicht entfernt wird, kann man sehen, dass mit file /usr/bin/test

+0

Ausführen von Datei/usr/bin/Test in gdb gibt mir die gleiche Ausgabe. Lesen von Symbolen aus /usr/bin/test ... (keine Debugging-Symbole gefunden) ... fertig. – psyc0der

+0

können Sie das Ergebnis von 'file/usr/bin/test' posten? – Mali

+0

'Lesen von Symbolen aus /usr/bin/test ... (keine Debugging-Symbole gefunden) ... fertig. – psyc0der

1

a.out entfernen und dann erneut versuchen. Es funktionierte für mich, da ich auch den gleichen Fehler bekam.

Verwandte Themen