我在下面缩写了我的 Valgrind 输出,因为它重复了很多次相同的无用输出。
“无用”因为我应该如何处理这些混淆的调用堆栈:
by 0x115EA8: ??? (in /usr/bin/dash)
代替
???
和0x115EA8
我期待一些可操作的信息,例如函数名称或代码文件的名称。我真的不知道该怎么做,如下所示,我正在使用标准命令行选项来启动 Valgrind。
==23991== 160 bytes in 1 blocks are still reachable in loss record 18 of 25
==23991== at 0x48406C4: malloc (vg_replace_malloc.c:380)
==23991== by 0x115EA8: ??? (in /usr/bin/dash)
==23991== by 0x11546B: ??? (in /usr/bin/dash)
==23991== by 0x10F78C: ??? (in /usr/bin/dash)
==23991== by 0x1121AE: ??? (in /usr/bin/dash)
==23991== by 0x112E76: ??? (in /usr/bin/dash)
==23991== by 0x10F27F: ??? (in /usr/bin/dash)
==23991== by 0x10E20E: ??? (in /usr/bin/dash)
==23991== by 0x10E1E1: ??? (in /usr/bin/dash)
==23991== by 0x115BC4: ??? (in /usr/bin/dash)
==23991== by 0x10C70E: ??? (in /usr/bin/dash)
==23991== by 0x4887189: (below main) (libc_start_call_main.h:58)
这里有什么可以获取更多信息吗?
我正在使用这些标准选项来运行 Valgrind:
valgrind --leak-check=full \
--show-leak-kinds=all \
--track-origins=yes \
--verbose \
--log-file=valgrind-out.txt \
./executable exampleParam1
有人看到我遗漏的这个输出中有用的东西吗?
或者我应该使用不同的命令行选项?