2012-04-25 150 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