【发布时间】:2018-02-05 08:31:14
【问题描述】:
当使用--leak-check=full 运行 valgrind 时,生成的报告包括有关“可能丢失”的内存的信息。
valgrind 手册中有一些相关信息,以及一些示例报告。
http://valgrind.org/docs/manual/mc-manual.html
LEAK SUMMARY:
definitely lost: 4 bytes in 1 blocks
indirectly lost: 0 bytes in 0 blocks
possibly lost: 0 bytes in 0 blocks
still reachable: 95 bytes in 6 blocks
of which reachable via heuristic:
stdstring : 56 bytes in 2 blocks
length64 : 16 bytes in 1 blocks
newarray : 7 bytes in 1 blocks
multipleinheritance: 8 bytes in 1 blocks
suppressed: 0 bytes in 0 blocks
在我自己的系统中,当使用 valgrind 执行我的多线程测试二进制文件时,我得到了大量“可能”丢失的内存。
valgrind 将内存报告为“可能丢失”到底是什么意思?它是丢失了还是不是在这个特定的执行中。在我看来,内存泄漏应该比“可能丢失”更黑白。
【问题讨论】:
-
我认为您链接的文档解释了什么被认为是“可能丢失”的块以及为什么报告通常不只显示黑白结果。
标签: memory-leaks valgrind