我的程序正在运行并创建变量,我需要知道这些变量的字节总数是多少。
我不想知道系统给我的程序执行的物理内存空间是多少,我知道我可以打开进程管理器并找出答案。 我既不想在我的代码中写入一些sizeof和agregations,所以我可以知道变量池的总大小(假设代码太复杂而不能像那样修改)。 最后我使用的是Microsoft VC ++ 2010 Express,我只想知道是否有工作区监控这类信息。
提前致谢。
答案 0 :(得分:4)
检查出来:Memory Performance Information 。您可能感兴趣的正在运行的流程的指标很少,您将主要需要private bytes
,并且这些数据可通过编程方式或通过Performance Monitor
等工具获得。您还可以使用GetProcessHeaps
(如果需要详细信息,甚至HeapWalk
)枚举流程的大量数据并直接检查堆分配大小。
答案 1 :(得分:0)
Valgrind Massif profiler是一个很棒的工具(参见here),但我认为只适用于Unix / Linux。在您的情况下,在Windows上我认为Insure++或softwareverify是不错的选择(它们是商业工具)。
免费的替代方案是Google的tcmalloc,它提供了一个堆分析器here