如何在执行C++期间动态地查看堆

Geo*_* Sp 1 c++ debugging memory-leaks memory-management heap-memory

我做了一个C++应用程序,我目前正在测试它是否有内存泄漏.

在g ++ 7.2.0上它没有泄漏

在此输入图像描述

但是在g ++ 5.4.0上确实如此.

在此输入图像描述

我有一些类(动态数据结构)被初始化和使用,但这似乎与泄漏无关,因为它具有相同的大小,即使数据结构更大或总是空的,直到结束.

如何查看这些72,704字节的分配位置,以便我可以释放它们?

欢迎任何帮助/想法.

如果需要,我可以提供代码.

Lan*_*ing 6

在这个特定的情况下,你不能将它作为一个gcc错误(正如你所注意到的那样)得到修复:Valgrind:使用<iostream>可以通过简单的程序访问内存

如果你真的想调查你的堆使用情况,你可以使用valgrinds堆profiler:massif http://valgrind.org/docs/manual/ms-manual.html