Fehlermeldung "no source file named..." mit debugger gdb 7.3.50
-
Hi!
Ich versuche mit gdb 7.3.50 einen Breakpoint in einem Unterprogramm FST.c zu setzen. Im Hauptprogramm TST.c kann ich den Breakpoint setzen. Aber wenn ich "break FST.c:201" sage, bringt der Debugger die Meldung "no source file named FST.c". Ich habe auch versucht, einen absoluten Pfad zu setzen, das hat leider nichts gebracht. Ist dies ein Bug von gdb? Vielen Dank für Hilfe.
Viele Grüße
jesse
-
zur Ergänzung: ich bekomme noch die Meldung "Make breakpoint pending on future shared library load (y/n)". Wenn ich "yes" eingebe, ist mein Breakpoint von FST.c:201 pending, aber wenn ich continue sage, läuft das Programm nicht zu der Zeile.
-
gdb hat im allgemeinen Recht. Prüfe, ob du dich nicht verschrieben hast. Ist FST.c auch mit Debuginformationen compiliert worden?
-
ich habe mit "gcc -g tst.c FST.o NUCFST.o -o tst.exe" kompiliert. Irgendwie findet gdb vermutlich den Suchpfad nicht. FST.c befindet sich im gleichen Verzeichnis wie tst.c. Vielleicht kann ich noch "directory src" und "cd src" in (gdb) ausprobieren, bevor ich den Breakpoint setze.
-
"cd working_dir" hat leider auch nicht funktioniert.
-
Ich habe es gefunden. Es liegt am Compileraufruf. Man darf die Unterprogramme nicht als Objekte linken sondern "gcc -g tst.c FST.c NUCFST.c -o tst.exe". Dann geht es.
-
kjesse schrieb:
Ich habe es gefunden. Es liegt am Compileraufruf. Man darf die Unterprogramme nicht als Objekte linken sondern "gcc -g tst.c FST.c NUCFST.c -o tst.exe". Dann geht es.
Ich habe den starken Verdacht (wie in meinem ersten Beitrag schon gesagt), du hast die Objektdateien vorher nicht mit Debugdaten erstellt. Denk dran: Die Debuginformation wird beim Compilieren eingefügt, nicht beim Linken! Normalerweise funktioniert das ganz ausgezeichnet über Objektdateigrenzen (auch Objektdateien in Bibliotheksarchiven) hinweg.