使用valgrind跑程序时出现coredump,怎么调试?

新手上路,请多包涵

在使用valgrind检测程序内存时,发现崩溃了。启动的方式如下:
valgrind --leak-check=full --tool=memcheck setsid valgrind --tool=memcheck --error-limit=no bin/justfortest -i 0 -c test.conf
运行没多久,程序coredump了,生成了个vgcore.8648文件,并且这个core文件的生成路径也不在我设置的core文件路径下。
使用gdb justfortest vgcore.8648准备调试时,遇到如下报错:

Reading symbols from bin/justfortest ...done.
BFD: Warning: vgcore.8648 is truncated: expected core file size >= 18666287104, found: 3003564032.

我现在有两个问题需要求助,一个是为什么生成的core文件被截断了,而且期待的长度比实际的长度要小?还有一个是valgrind生成的core文件,可以直接使用运行的程序名称进行gdb吗?

阅读 3.3k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进