2016-09-21 7 views
0

Die Verwendung von VC kann das Disassemblierungsfenster öffnen und darüber hinwegfahren. Aber mit gdb scheint nicht so direkt:Wie gdb verwendet wird, um in die entsprechende Disassemblierung eines C-Programms zu debuggen?

Zum Beispiel: Ich habe ein myadd.c bekam

void main(){ 
    int i=0; 
    int j=i+1; 
    j+=2; 
} 

gcc -g myadd.c

gdb a.out

b 2 // gesetzt Bruchstelle bei int j = 1 + 1;

Jetzt kann ich "disassemble" Befehl verwenden, um Disassemblierungscode zu sehen. Meine Anforderung besteht darin, "in" diesen Disassemblierungscode zu debuggen, wie VC es könnte. Ich habe 's' Befehl versucht, geht es direkt in die nächste "C" -Anweisung, nicht Demontage-Anweisung.

Wie geht das?

Antwort

1

Um zur nächsten Montageanleitung zu springen, verwenden Sie stattdessen stepi (kurz si).

Weitere Informationen finden Sie unter this, insbesondere, wie Sie display/i verwenden, um die nächste Maschinenanweisung anzuzeigen.

1

Für eine einigermaßen schöne Montageansicht verwenden la p (layout prev) und Schritt mit si (stepi). Verwenden Sie C-x a, um zur regulären gdb-Eingabeaufforderung zurückzukehren. In einigen Fällen können andere Layouts ebenfalls nützlich sein.

Verwandte Themen