我发现了一个有用的主题,用于从Window上的核心转储文件(http://www.codeproject.com/Articles/3472/Finding-crash-information-using-the-MAP-file)中查找导致崩溃的代码行。但我找不到适用于Linux的类似主题。有时我在测试系统上有核心转储,但由于缺少调试信息,我无法分析它们。我不能复制这个崩溃,所以我不能调试它们。Gdb stacktrace显示了堆栈,如下所示:
#0 0x00a2b430 in __kernel_vsyscall ()
#1 0x01522b11 in raise () from /lib/libc.so.6
#2 0x015243ea in abort () from /lib/libc.so.6
#3 0x08126e9f in ?? ()
#4 0x081276a8 in ?? ()
#5 0x0808b6fb in main ()
因此,我希望有类似的主题,寻找崩溃信息从核心转储在Linux上,作为上述主题为Window。你能帮助我提出任何解决方案或相关话题吗?
发布于 2015-05-11 17:10:41
通常,可以使用与“旧”编译器完全相同的一组C编译器标志重新编译程序,只需添加-g来添加调试信息,然后将此可执行文件沿着生成的核心转储加载到调试器中。
但是,不要更改源代码中的任何内容或更改任何编译器标志,这一点很重要,因为这将导致生成与核心转储不匹配的不同代码。唯一可以更改的标志是-g,它添加了调试信息。
https://stackoverflow.com/questions/30163342
复制相似问题