如何判断已提交和保留的内存是什么?

时间:2011-05-10 13:15:57

标签: c++ windbg crash-dumps

我目前正在研究一个应用程序正在为C ++应用程序使用大量私有内存的问题。根据转储分析,看起来很多是在提交和保留内存中。

我使用Windbg。有什么方法可以看出提交和保留记忆中的确切含义是什么?我把它缩小到一个特定的堆。

我的理论是它没有被释放。我无法调试,我只有转储继续。

任何建议都会有所帮助。

1 个答案:

答案 0 :(得分:0)

!address -Filter应该能够提供这些信息。以下是不同的过滤选项。

  

MEM_COMMIT: - 所有内存   目前承诺使用   目标。物理存储已经   在物理上分配给这个记忆   内存或页面文件。

     

MEM_RESERVE: - 所有内存   保留供目标将来使用。   没有分配物理存储空间   这段记忆。

     

MEM_FREE: - 所有可用内存   目标的虚拟地址空间。   这个内存包括所有内存   尚未承诺或保留。   此过滤器值与   RegionUsageFree。