GNU gdb geht in die C Library in Ubuntu 10.10
-
Ich habe hier ein Problem mit gdb.
Und zwar geht der Debugger bei den "step" Anweisungen einzeln in Aufrufe der libc6, das will ich aber verhindern,
da mich nur mein eigener Programmcode und meine eigenen Funktionen interessieren.Er tut es vermutlich weil die libc eine debugged version der libc ist, aber die wird Standardmäßig von Ubuntu 10.10 so installiert. Weswegen ich hier schlecht was ändern kann.
Außerdem hängt valgrind vom libc6-dpk Paket ab und valgrind brauche ich.Gibt's für mein Problem irgendeine Lösung, so daß der nicht mehr mit step einzeln in der glibc herumwandert?
Wenn mein Code z.B.
printf("abc\n"); printf("xyz\n");
lautet, und ich einen Breakpoint beim ersten printf setzte, dann soll der mit der ersten step Anweisung zum nächsten printf wandern und nicht in die Tiefen der C Funktion printf.
-
Du kannst mit den Kommandos "step over", "step in" und "step out" Kontrollieren, ob er Funktionsaufrufe überspringen, in die Funktion hinein, oder aus einer Funktion hinaus springen soll.
-
Ich habe ne bessere Lösung gefunden.
Mit next übersprint er die Funktionen.
Und wenn ich mit step doch mal in eine reingetreten bin, dann komme ich mit finish wieder raus.Noch besser wäre es natürlich, wenn er in die C Lib Funktionsaufrufe erst gar nicht reinspringen würde.
Gibt's dafür keinen Schalter in gdb, daß er diese ignoriert?
Immerhin sind C Lib Funktionsaufrufe ja bekannt und wenn es eine mit Debugger Symbole ist, dann erkennt er die Funktionen auch an ihrem Namen.
-
Du hast offenbar die glibc mit Debugsymbolen installiert. Schau mal ob du libc6-dbg installiert hast und deinstalliere das, wenn es dich stört.
-
Dieser Thread wurde von Moderator/in rüdiger aus dem Forum Rund um die Programmierung 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.
-
rüdiger schrieb:
Du hast offenbar die glibc mit Debugsymbolen installiert. Schau mal ob du libc6-dbg installiert hast und deinstalliere das, wenn es dich stört.
Lies doch bitte nochmal das erste Posting ganz oben.