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

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

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

在g ++ 7.2.0上它没有泄漏

enter image description here

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

enter image description here

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

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

欢迎任何帮助/想法。

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

c++ debugging memory-management memory-leaks heap-memory
1个回答
6
投票

在这个特定的情况下,你不能把它作为一个gcc bug(正如你所注意到的那样)被修复:Valgrind: Memory still reachable with trivial program using <iostream>

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

© www.soinside.com 2019 - 2024. All rights reserved.