繁体   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