2012-06-16 17 views
6

Mögliche Duplizieren:
Switching to assembly in gdbGDB-Display Montageanleitung Machen statt C

ich einige Code in gdb bin debuggen. Wenn ich den Befehl ni (für nächste Anweisung) ausführen, wird der C-Code angezeigt. Das Anzeigen der ausgeführten Montageanleitung wäre für mich sinnvoller.

(gdb) ni 
0x0804845a 28   tmp = *lpp; 
(gdb) ni 
0x0804845c 28   tmp = *lpp; 
(gdb) ni 
0x0804846a 29   **lpp = (unsigned long) &buf; 
(gdb) ni 
0x0804846c 29   **lpp = (unsigned long) &buf; 

Gibt es eine Möglichkeit gdb den Assembler-Code stattdessen angezeigt zu machen, ohne disassm Aufruf jedes Mal?

EDIT: Ich weiß über die layout asm Befehl, der den Code in einem Readline-Fenster anzeigt. Ich würde gerne die Disassemblierung auf der Kommandozeile von gdb sehen, nicht in einem gdb-Fenster.

+2

@OliCharlesworth kein exaktes Duplikat, aber eine der Antworten (nicht die akzeptierte) beantwortet diese Frage. –

+0

@DmitriChubarov: Ja, ich suche immer nach doppelten Antworten, keine Fragen. –

Antwort

11

Wenn Sie über ni Schritt wird die nächste Handvoll Montageanleitung Anzeigen oft sehr nützlich.

(gdb) display/4i $pc 

zeigt die nächsten 4 Anweisungen jedes Mal an, wenn GDB stoppt.

6

Haben Sie versucht, TUI ASM-Layout zu verwenden?

Es ist ziemlich praktisch.

(gdb) layout asm 
+0

Vielen Dank dafür. War mir nicht bewusst. –

Verwandte Themen