6

可能重复:
在 gdb 中切换到程序集

我正在调试 gdb 中的一些代码。当我运行ni(for next instruction)命令时,它会显示 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 窗口中。

4

2 回答 2

11

当你单步执行时ni,显示接下来的几条汇编指令通常非常有用。

(gdb) display/4i $pc

每次 GDB 停止时都会显示接下来的 4 条指令。

于 2012-06-16T14:28:18.913 回答
6

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

它相当方便。

(gdb) layout asm
于 2012-06-16T11:52:50.657 回答