我正在从事一个 GNU Autotools 项目,在该项目中遇到了一些奇怪的内存分配错误。我想使用 Valgrind 进行调试,但是当我在它下运行我的可执行文件时,我没有得到任何行号或源文件名。我什至尝试使用以下命令进行配置,以便优化-O0
并带有-g
用于调试的标志:
./configure 'CXXFLAGS=-g -O0'
然后我将在 Valgrind 下运行可执行文件,如下所示:
valgrind -leak-check=full ./[exename]
我仍然只看到神秘的输出,例如:
==3493== 24 bytes in 1 blocks are definitely lost in loss record 137 of 303
==3493== at 0x4A06409: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==3493== by 0x46904A: xmalloc (in /usr/bin/bash)