说服gdb揭示未处理异常的类型

时间:2015-10-20 08:40:08

标签: c++ gcc gdb

如何说服gdb显示未处理异常的类型。我有一个核心转储及其相关的二进制文件和gdb中的堆栈跟踪向我显示它是一个catch all all handler,如下所示:

try { ... }
catch (exception &x) { ... }
catch (...)
{
-> here <-
}

堆栈跟踪的最后一部分是:

  来自/lib64/libc.so.6的raise()中的

0 0x00000034dc432925

     来自/lib64/libc.so.6的abort()中的

1 0x00000034dc434105

     来自/lib64/libpthread.so.0的unwind_cleanup()中的

2 0x00000034dc80dec1

     

4 ...我的捕获(...)处理程序

     

5 ...其余的调用堆栈导致此...

所以我升级到了catch(...)中的堆栈点,但现在我不知道试图弄清楚异常类型是什么。任何gdb提示都要揭示它? 饭后注意它的芥末(我的意思是我不能再次运行它并等待同样的问题再次发生,因为它很少而且很远)所以不能再抓住gxx_personality_v0获取访问权限了鉴于我的情况如上所述,除非有人知道如何达到这一点,否则它的变量与异常有关。

0 个答案:

没有答案