问题描述
|
我有一个程序捕获未知异常。代码如下:
try {
...
} catch (...) {
abort(); // generates core file
}
我有一个核心文件和可执行文件。有什么办法让我知道它捕获了什么异常以及它在代码中的何处生成而无需重新编译或再次在gdb中运行?
我正在考虑尝试使用gdb从核心文件中找出所有这些问题。任何想法如何做到这一点?
PS:我在Linux CentOS 5.4上
解决方法
除非您将回溯信息传递给异常(如此处所述),并且除非捕获到该异常,否则无法从引发异常的位置获取信息。
由于catch all(
catch(...)
)块捕获到异常,因此无法获取该信息。
, 据我所知,您将无法获得完全例外,已被困在陷阱中(...)
看这个帖子:
如何获取包罗万象的异常消息