调试valgrind生成的核心

psy*_*tik 7 debugging gdb valgrind

Valgrind生成了一个vgcore.NNNN文件 - 如何使用GDB调试核心?我是否需要使用原始可执行文件并提供核心,还是有其他方法可以执行此操作?

使用valgrind作为根可执行文件似乎不起作用,并且使用在gDB中直接在带有核心的GDB下运行的可执行文件似乎会产生错误的回溯.

Emp*_*ian 12

这对我来说很好:

gdb ./a.out vgcore.21650
Run Code Online (Sandbox Code Playgroud)

这就是你应该如何使用vgcore.

如果您的程序在崩溃之前损坏了堆栈,那么显然您不会从vgcore获得良好的堆栈跟踪.您可能希望使用导致崩溃的实际Valgrind报告来扩展您的问题.