我正在 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 窗口中。
当您单步执行
ni
时,显示接下来的一些汇编指令通常非常有用。
(gdb) display/4i $pc
每次 GDB 停止时都会显示接下来的 4 条指令。