我在 GDB 中运行 stepi 和 nexti 命令。目前他们打印地址是这样的:
(gdb) stepi
0x08043ae7 in ?? ()
(gdb) nexti
0x08043ae8 in ?? ()
相反,我想打印当前指令:
(gdb) stepi
=> 0x8043ae7: push %eax
(gdb) nexti
=> 0x8043ae8: push %ebx
我知道我可以通过运行
x/i $pc
获得所需的行。如何在stepi
和nexti
之后自动获取它们?
如何在
和stepi
之后自动获取它们?nexti
这将做几乎你想要的:
(gdb) display/i $pc
不同的是每次GDB停止都会显示下一条指令,就在
stepi
和nexti
之后。
如果您真的希望
hook-nexti
仅针对这两个命令触发,您还应该能够使用 hook-stepi
和 x/i
。 文档.