簡體   English   中英

stst :: bad_function_call的callstack

[英]Callstack for std::bad_function_call

我有一個linux程序終止於:

terminate called after throwing an instance of 'std::bad_function_call'

在調用堆棧中,我遺憾地看不到調用壞函數的位置。 此外,它在生成此錯誤之前進行了很多迭代,因此我無法手動調試它。

有沒有辦法找到有問題的代碼?

你能從gdb設置一個catchpoint嗎? 你想要執行

catch throw

在運行程序之前從gdb命令行開始,然后在拋出異常時將觸發斷點。

您可以使用gdb查看拋出異常的位置:

(gdb) catch throw

每當你的程序中拋出一個新的異常時,它就會停止,你會看到它發生的地方。

請參考本網站。 在我的情況下,這個問題是由使用空函數指針引起的。 http://www.cplusplus.com/reference/functional/bad_function_call/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM