我运行了 Valgrind,但输出指向通用 malloc 调用作为泄漏源。为什么它用“???”隐藏细节?

问题描述 投票:0回答:0

我在下面缩写了我的 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

有人看到我遗漏的这个输出中有用的东西吗?

或者我应该使用不同的命令行选项?

memory-leaks valgrind
© www.soinside.com 2019 - 2024. All rights reserved.