来自核心文件的C ++异常信息

时间:2011-06-14 06:58:17

标签: c++ exception gdb core

我有一个捕获未知异常的程序。代码如下所示:

try {
    ...
} catch (...) {
    abort(); // generates core file
}

我有一个核心文件和可执行文件。有没有办法让我知道它捕获了什么异常以及代码在哪里生成而无需重新编译或在gdb中再次运行? 我正在考虑尝试使用gdb从核心文件中找出所有这些。任何想法如何做到这一点?

PS:我在Linux CentOS 5.4上

2 个答案:

答案 0 :(得分:1)

除非您将回溯信息传递给异常(如解释here)并且除非捕获该异常,否则无法从抛出异常的位置获取信息。

由于catch all(catch(...))块遇到异常,因此无法获取该信息。

答案 1 :(得分:1)

据我所知,你将无法得到任何异常被困在一个捕获(...)

看看这篇文章:

how to get message of catch-all exception