Als «gdb» getaggte Fragen

Verwenden Sie dieses Tag für Probleme im Zusammenhang mit GDB, dem Standard-Debugger für das GNU-Softwaresystem.




2
GCC -g vs -g3 GDB-Flag: Was ist der Unterschied?
Beim Kompilieren von C-Quellcode mit gcc oder Clang verwende ich immer das -gFlag, um Debugging-Informationen für gdb zu generieren. gcc -g -o helloworld helloworld.c Mir ist aufgefallen, dass einige Leute -g3stattdessen empfehlen . Was ist der Unterschied zwischen den -gund -g3Flags? Gibt es auch einen Unterschied zwischen -gund -ggdb?
101 c  debugging  gcc  gdb  clang 



3
Wie kann man den Inhalt des Stapels mit GDB sehen?
Ich bin neu bei GDB, daher habe ich einige Fragen: Wie kann ich den Inhalt des Stapels anzeigen? Beispiel: Um den Inhalt des Registers zu sehen, tippe ich info registers. Was sollte es für den Stapel sein? Wie kann ich den Inhalt von sehen $0x4(%esp)? Wenn ich print /d $0x4(%esp)tippe, …
94 c  assembly  gdb 

3
So setzen Sie Haltepunkte für zukünftige gemeinsam genutzte Bibliotheken mit einem Befehlsflag
Ich versuche, eine GDB-Sitzung mithilfe des --commandFlags zu automatisieren . Ich versuche, einen Haltepunkt für eine Funktion in einer gemeinsam genutzten Bibliothek festzulegen (das Unix-Äquivalent einer DLL). Meine cmds.gdb sieht folgendermaßen aus: set args /home/shlomi/conf/bugs/kde/font-break.txt b IA__FcFontMatch r Ich erhalte jedoch Folgendes: shlomi: ~ / progs / bugs-external / kde …
92 c++  c  linux  unix  gdb 

7
Überprüfen des Inhalts von Standardcontainern (std :: map) mit gdb
Angenommen, wir haben so etwas: #include <map> int main(){ std::map<int,int> m; m[1] = 2; m[2] = 4; return 0; } Ich möchte in der Lage sein, den Inhalt der Karte zu überprüfen, auf der das Programm von gdb ausgeführt wird. Wenn ich versuche, den Indexoperator zu verwenden, erhalte ich: (gdb) …
92 c++  stl  map  gdb 


5
gdb: "Es wird keine Symboltabelle geladen"
Ich erhalte immer wieder diese Fehlermeldung, wenn ich versuche, einen Haltepunkt in gdb hinzuzufügen. Ich habe diese Befehle zum Kompilieren verwendet: gcc -g main.c utmpib2.c -o main.o and: cc -g main.c utmpib2.c -o main.o and also: g++ -g main.c utmpib2.c -o main.o Ich habe auch "-ggdb" anstelle von "-g" versucht …
90 c  gdb 

4
GDB: break wenn Variable gleichwertig ist
Ich möchte, dass GDB einen Haltepunkt setzt, wenn eine Variable einem von mir festgelegten Wert entspricht. Ich habe dieses Beispiel ausprobiert: #include <stdio.h> main() { int i = 0; for(i=0;i<7;++i) printf("%d\n", i); return 0; } Ausgabe von GDB: (gdb) break if ((int)i == 5) No default breakpoint address now. (gdb) …
89 c  gdb 


5
Was ist der Unterschied zwischen gcc -ggdb und gcc -g
Wenn ich gcc zum Kompilieren von C-Programmen verwende, verwende ich normalerweise -geinige Debug-Informationen in die elf-Datei, damit gdb mir bei Bedarf helfen kann. Ich bemerkte jedoch, dass einige Programme verwenden -ggdb, da dies die Debug-Informationen gdb-freundlicher machen soll. Wie unterscheiden sie sich und welche wird empfohlen? Hinweis: Ein Link zu …
89 gcc  gdb 

5
Wie führe ich die ausführbare Datei automatisch in GDB aus?
Ich hätte gdbdie ausführbare Datei gerne sofort ausgeführt, als hätte ich "run" eingegeben (Motivation: Ich mag es nicht, "run" einzugeben). Eine Möglichkeit besteht darin, den Befehl gdbwie folgt zu leiten : $ echo run | gdb myApp Das Problem bei diesem Ansatz ist jedoch, dass Sie die Interaktivität verlieren gdb, …
88 gdb 

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.