使用gdb调试不熟悉的程序时,程序经常在执行next
后意外退出。当发生这种情况时,我通常会设置一个断点,重新运行程序并执行step
而不是next
来跟踪正在发生的事情。但是,有时很难知道在哪里设置断点。是否有技术自动设置中断?类似的东西:
define hook-next
break
end
define hookpost-next
# delete the previous break if the program is still running
end
答案 0 :(得分:3)
我认为你可以在退出时使用hook-next,便捷变量和断点组合。类似的东西:
define hook-next
set $saved_pc = $pc
end
break exit
commands
break *$saved_pc
end
你可能更喜欢“tbreak”。