Valgrind制作了一个vgcore.NNNN文件 - 如何使用GDB调试核心?我是否需要使用原始可执行文件并提供核心,还是有其他方法可以执行此操作?
使用valgrind作为根可执行文件似乎不起作用,并且使用在gDB中直接在带有核心的GDB下运行的可执行文件似乎会产生错误的回溯。
答案 0 :(得分:9)
这对我来说很好用:
gdb ./a.out vgcore.21650
这就是你应该如何使用vgcore。
如果您的程序在崩溃之前损坏了堆栈,那么显然您不会从vgcore获得良好的堆栈跟踪。您可能希望使用导致崩溃的实际Valgrind报告来扩展您的问题。