使用GDB Python脚本跟踪指令

时间:2016-10-03 17:58:54

标签: gdb gdb-python

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

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

我阅读了文档,我很自信寄存器,向量和内存位置可以轻松转储。实际问题是找到下一个指令位置所需的内容,以分析当前指令的反汇编以确定下一个断点的位置。

更新

我在不使用stepinexti的情况下完成所有这些操作,因为我正在调试的目标仅适用于硬件断点,据我所知,这些命令使用软件断点来破坏下一条指令

GDB中有类似的东西吗?

1 个答案:

答案 0 :(得分:0)

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