0

我正在尝试为 GDB 编写一个 Python 脚本来跟踪一个函数。

这个想法是在地址位置设置断点,让程序运行,然后,当它中断时,记录到文件寄存器、向量和堆栈,并找出下一条指令的地址,在该位置设置断点并冲洗并重复。

我通读了文档,我非常有信心可以轻松转储寄存器、向量和内存位置。实际的问题是找到下一条指令的位置,因为它需要分析当前指令的反汇编以确定下一个断点应该放置在哪里。

更新

我没有使用stepinexti因为我正在调试的目标仅适用于硬件断点并且据我所知,这些命令使用软件断点在下一条指令中断

GDB中有类似的东西吗?

4

1 回答 1

0

是的,您可以在 gdb 中执行此操作。与其尝试在下一条指令上设置断点,不如使用该si命令单步执行下一条指令。

于 2016-10-03T18:48:28.293 回答