使gdb显示汇编指令而不是C

时间:2012-06-16 11:40:52

标签: c debugging assembly gdb

  

可能重复:
  Switching to assembly in gdb

我正在调试gdb中的一些代码。当我运行ni(用于下一条指令)命令时,它会显示C代码。显示执行的汇编指令对我来说更有意义。

(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;

有没有办法让gdb显示汇编代码,而不是每次都调用disassm

编辑:我知道layout asm命令在readline窗口中显示代码。我想在gdb命令行上看到反汇编,而不是在gdb窗口中。

2 个答案:

答案 0 :(得分:11)

当你走过ni时,显示下面的一些装配说明通常非常有用。

(gdb) display/4i $pc
每次GDB停止时,

将显示接下来的4条指令。

答案 1 :(得分:6)

您是否尝试使用TUI ASM布局?

这很方便。

(gdb) layout asm