如何用python逐行执行代码并检查堆栈

问题描述:

我试图在gdb中设置一个python脚本,每次只执行一行程序,并在每个步骤记录堆栈指针。我一直在搜索gdb-python脚本的一些很好的在线参考,并且一直没有找到任何有价值的东西。如何用python逐行执行代码并检查堆栈

一个脚本示例或链接到gdb-python脚本的好的在线参考将不胜感激。

你甚至可以从gdb命令行里这么做:

while 1 
    step 
    # Do something with $sp 
end 

的Python版本会看起来很相似,类似:

while True: 
    gdb.execute("step") 
    sp = gdb.parse_and_eval("$sp") 
    # Do something with sp.