我正在开发一个多线程应用程序,我想使用GDB对其进行调试。
问题是,我的一个线程一直在死,消息如下:
pure virtual method called
terminate called without an active exception
Abort
我知道这条消息的原因,但我不知道它发生在我的线程中的什么地方。回溯真的很有帮助。
当我在GDB中运行我的应用程序时,每当线程挂起或恢复时,它都会暂停。我希望我的应用程序继续正常运行,直到其中一个线程死于异常,此时一切都应该停止,这样我就可以获得回溯。
发布于 2014-08-29 06:31:40
显然,在gcc 4.1中,适当的函数名称已经更改,必须在此函数中设置断点。
__cxa_pure_virtual
发布于 2009-07-12 07:57:14
在__pure_virtual上设置断点
发布于 2020-07-25 05:49:16
在我的gdb 8.3中,只有以下一个是有效的:
break _Unwind_RaiseException
"catch throw“或"break __cxx_throw”对我不起作用。
https://stackoverflow.com/questions/1115428
复制相似问题