【问题标题】:How to see heap dynamicly during execution C++如何在执行C ++期间动态查看堆
【发布时间】:2018-03-01 10:48:08
【问题描述】:

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

在 g++ 7.2.0 上它没有泄漏

但在 g++ 5.4.0 上可以。

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

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

欢迎任何帮助/想法。

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

【问题讨论】:

  • 可能在 libc 中。
  • "使用 --leak-check=full 重新运行以查看泄漏内存的详细信息"
  • libc 或 C++ 库,但不太可能是你的。

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


【解决方案1】:

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

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

【讨论】:

  • 完全相同的 72704 字节有点小白。
  • @MSalters 是的,感谢上帝,这不是我的错。我很沮丧,我找不到它在哪里。
猜你喜欢
  • 2014-04-05
  • 1970-01-01
  • 2011-05-13
  • 1970-01-01
  • 2021-07-17
  • 2017-08-14
  • 2021-10-05
  • 1970-01-01
  • 2015-05-22
相关资源
最近更新 更多