GDB Ausgabe unlogisch?
-
Hallo Leute,
ich habe ein simples Programm geschrieben, dass folgendermaßen aussieht:
#include <stdio.h> #include <string.h> int main(){ char str_a[20]; strcpy(str_a, "Hello World!\n"); printf("%s",str_a); return 0; }
Nun starte ich gdb mit gdb -q ./prog und gebe list - ein. Wenn ich das eingebe, sollte ich die ersten 10 Zeilen meines Codes erhalten. Allerdings erhalte ich was ganz anderes:
(gdb) list -
1 ../sysdeps/i386/elf/start.S: No such file or directory.
in ../sysdeps/i386/elf/start.SDas ist ziemlich komisch. Woran kann das liegen? Habe außerdem noch folgendes Problem. Wenn ich bei gdb "break main" eingebe, so hält er wirklich dort an. Gebe ich aber break strcpy ein, so tut er dies nicht und lande ganz woanders...
Woran kann das alles liegen?
-
Hast du dein Programm mit Debugsymbolen (also -g oder -g3) kompiliert?
(Ich würde dir die Verwendung eines GDB Frontends empfehlen).
-
Dieser Thread wurde von Moderator/in rüdiger aus dem Forum ANSI C in das Forum Linux/Unix verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Hallo!
Nein, der einzige Parameter, den ich meist anhänge ist -q. Das schaltet die Copyright Anzeige aus, sollte daher keine Änderungen aufweisen.
Was für einen Frontend empfielst du mir?
-
Ich rede vom kompilieren. Also
gcc -g3 foo.c
Frontends gibt es viele gute: gdb-mode in Emacs, KDbg, KDevelop etc.
-
Beim Kompilieren habe ich nur -o rangehängt, sonst nichts.
Welches frontend ist zu empfehlen. Sind diese Forntends dann so wie beispielsweise der Debugger von Eclipse, sodass ich also nur in die Zeile klicken muss und so breakpoints setze?
mfg
-
Anon schrieb:
Beim Kompilieren habe ich nur -o rangehängt, sonst nichts.
Damit Du debuggen kannst, musst Du aber noch -g3 oä. dranhängen.
Sind diese Forntends dann so wie beispielsweise der Debugger von Eclipse, sodass ich also nur in die Zeile klicken muss und so breakpoints setze?
Ja.
Verwendest Du schon eine IDE? Hat die ein gdb-Frontend? Wenn nicht, sind vmtl. kdbg und Konsorten schon einigermaßen brauchbar.