【问题标题】:Visual C++ examine object instances size in the process memory [closed]Visual C++ 检查进程内存中的对象实例大小[关闭]
【发布时间】:2014-08-21 12:21:31
【问题描述】:

我想知道特定类型的所有实例在运行时消耗的总内存是多少。 我的意思是,我正在使用process explorer 来查看特定进程消耗了多少内存。但我也想知道进程内消耗了哪些对象以及它们消耗了多少内存。

【问题讨论】:

  • 由于碎片化,“对象的所有实例消耗的内存”的概念是模糊的。您会发现在显式分配之间的小插槽中丢失了 Lots 的内存,这些内存不可用,也无法寻址到任何特定的对象类型。
  • 在程序运行时深入并报告程序性能(通常是 CPU 使用率)的某些方面的工具称为“分析器”。因此,您正在寻找的内容可能被称为“内存分析器”。在 Google 上搜索 c++ "memory profiler" 可能是寻找对您有帮助的工具的良好开端。
  • VS2012 自带的内存配置文件没有提供对象的内存消耗信息。如果我错了请纠正我;)

标签: c++ visual-c++ visual-studio-2012


【解决方案1】:

一些内存不足检测工具可以做到这一点,例如Memory Validator。它不是免费的,您可以下载试用版并尝试一下。

如果你只是想查找内存泄漏,MS 的DebugDiag 是一个不错的选择。

另一种方法是为要监视的对象覆盖 new 和 delete,从而可以跟踪内存使用情况。

【讨论】:

  • 谢谢。不,我不寻找内存泄漏检测器。我想检查进程中消耗了多少内存。
  • 我需要的是内存验证器。谢谢。
猜你喜欢
  • 2019-12-20
  • 2010-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-23
  • 2016-11-30
  • 1970-01-01
  • 2010-11-10
相关资源
最近更新 更多