Ich habe folgenden Beispielcode
%Vor%Ich habe diesen Code mit der Option -g in gcc kompiliert.
%Vor%Generiere separate Symboldatei
%Vor%Entfernen Sie die Symbole von a.out
%Vor%Laden Sie diese a.out in gdb
%Vor%gdb sagt "keine Debug-Informationen gefunden" in Ordnung. Dann benutze ich den Befehl add-symbol-file in gdb
%Vor%Ich weiß, gdb hat einen anderen Befehl symbol-file , aber es überschreibt die vorherigen geladenen Symbole. Also muss ich diesen Befehl verwenden, um viele Symboldateien in gdb hinzuzufügen. Mein System ist 64bit mit ubuntu LTS 12.04 gdb Version ist 7.4-2012.04 GCC-Version ist 4.6.3
objcopy --only-keep-debug a.out a.out.sym
Wenn Sie möchten, dass GDB die a.out.sym automatisch lädt , führen Sie die folgenden Schritte aus hier (Beachten Sie insbesondere, dass Sie den Schritt" add .gnu_debuglink
"tun müssen).
Diese Adresse repräsentiert WAS
Die Adresse, die GDB haben will, ist die Position des .text
-Abschnitts der Binärdatei. Um es zu finden, verwenden Sie readelf -WS a.out
. ZB
Hier wollen Sie GDB 0x401900
als Ladeadresse angeben.
Tags und Links linux gdb memory-address