我们正试图在Linux上运行的C++应用程序找出内存泄漏后相同的内存泄漏。我们使用的是Valgrind 3.6.0,并且能够获得几个“绝对丢失”的堆栈。在报告中,它也给出了“绝对丢失”字节的总数。Valgrind的显示甚至固定泄漏
,我们必须包括的修复是这样的:改变delete ptr
到delete[] ptr
其中ptr
指向的上堆位置的阵列。
请注意,PTR拿着的内存量好。我们也修改了许多其他删除。因此,我们期望泄漏减少。
但修复后,奇怪的Valgrind的仍然报相同数量的泄漏和以前一样,在总结。
==00:00:15:13.661 14014== LEAK SUMMARY:
==00:00:15:13.661 14014== definitely lost: 236 bytes in 8 blocks
==00:00:15:13.661 14014== indirectly lost: 22,113 bytes in 17 blocks
==00:00:15:13.662 14014== possibly lost: 695,006 bytes in 47 blocks
==00:00:15:13.662 14014== still reachable: 2,056,059 bytes in 732 blocks
==00:00:15:13.662 14014== suppressed: 0 bytes in 0 blocks
有人可以看到Valgrind的这种行为吗? 我们使用了所有正确选项调用mem_check工具等
没有代码,我们无法帮到你。 –