2009-12-23 91 views
6

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

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

+0

你是如何从valgrind生成核心文件的? – kbang 2015-04-24 19:05:52

回答

9

也能正常工作对我来说:

gdb ./a.out vgcore.21650 

,这就是你应该如何使用vgcore。

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