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

时间:2018-03-01 10:48:08

标签: c++ debugging memory-management memory-leaks heap-memory

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

在g ++ 7.2.0上它没有泄漏

enter image description here

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

enter image description here

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

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

欢迎任何帮助/想法。

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

1 个答案:

答案 0 :(得分:6)

在这种特定情况下,您不能将(正如您所注意到的)gcc错误修复为:Valgrind: Memory still reachable with trivial program using <iostream>

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