如何用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.