使用GDB调试以编程方式调用的函数
我正在为ARM32调试一个软件。 我已经能够使用call
,甚至print
以编程方式在GDB中调用函数。 问题是我似乎无法在函数上设置断点,然后以编程方式调用它。 例如,如果我这样做:
break test_function call test_function()
然后我收到错误消息
正在调试的程序在从GDB调用的函数中停止。 评估包含该function的表达。 当函数执行完毕后,GDB将默默停止。
有没有办法以编程方式使用GDB调用函数并逐步执行它?
然后我收到错误消息
The program being debugged stopped while in a function called from GDB. Evaluation of the expression containing the function. When the function is done executing, GDB will silently stop.
这不是错误。 这正是您想要发生的事情:断点被触发,您现在可以调试了。