我知道我的应用程序正在泄漏内存和我用WinDbg工具来分析。我附加了W3WP进程并运行了以下命令:
!address -summary
它产生了以下结果。
我希望有人帮我理解这个结果,并指导我或提供一个链接,反过来帮助我了解需要做什么
答案 0 :(得分:2)
MSDN链接解释了不同内存区域的内容,就如何解释这一点而言,您需要在泄漏之前和之后记录输出两次,以查看增加的内容,我们可以通过查看最大的使用区域,但有一个标记为<unknown>
。您可能需要先将符号排序,然后再次运行!address
命令。
此外,您可能会发现umdh或debugdiag可能会让您更容易找到泄漏点,另外WinDbg中还有泄漏检测命令!heap -l
就链接而言,有用资源有related post
答案 1 :(得分:1)
未知 - &gt; .Net Objects使用的内存
免费 - &gt;自由区
图片 - &gt; dlls占用的内存。
Heap32 - &gt;本机对象占用的内存。(非.Net)
http://blogs.msdn.com/b/webtopics/archive/2010/04/02/address-summary-explained.aspx