2012-04-25 153 views
3

我正在调试ARM32的一个软件。我已经能够使用call或甚至print以编程方式调用GDB中的函数。问题是我似乎无法在函数上设置断点,然后以编程方式调用它。例如,如果我这样做:用GDB调试编程调用函数

break test_function 
call test_function() 

然后我得到错误信息

正在调试的程序停止,而在从 GDB调用的函数。包含函数的表达式的评估。当 函数完成执行时,GDB将静静地停止。

有没有办法通过编程方式使用GDB 来调用函数?

回答

6

然后我得到错误信息

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.

这是不是一个错误。这是正好你想要发生的事情:一个断点被触发,你现在已经准备好进行调试了。

+0

谢谢。我对消息“去除”(gdb)'提示的事实感到困惑。我没有意识到我可以继续调试。 – Randomblue 2012-04-26 14:15:27