如何在 gdb 中的 stepi 和 nexti 之后打印我想要的内容?

问题描述 投票:0回答:1

我在 GDB 中运行 stepinexti 命令。目前他们打印地址是这样的:

(gdb) stepi
0x08043ae7 in ?? ()
(gdb) nexti
0x08043ae8 in ?? ()

相反,我想打印当前指令:

(gdb) stepi
=> 0x8043ae7:   push   %eax
(gdb) nexti
=> 0x8043ae8:   push   %ebx

我知道我可以通过运行

x/i $pc
获得所需的行。如何在
stepi
nexti
之后自动获取它们?

gdb
1个回答
0
投票

如何在

stepi
nexti
之后自动获取它们?

这将做几乎你想要的:

(gdb) display/i $pc

不同的是每次GDB停止都会显示下一条指令,就在

stepi
nexti
之后。

如果您真的希望

hook-nexti
仅针对这两个命令触发,您还应该能够使用
hook-stepi
x/i
文档.

© www.soinside.com 2019 - 2024. All rights reserved.