如何使用Windbg分析.NET进程的非托管堆大小? 应该在WinDbg中使用哪些命令?
答案 0 :(得分:13)
!address -summary
为您提供概述,而不是关注个人堆。
使用情况摘要包含以下内容:
类型摘要包含:
州摘要:
保护摘要应该解释自己。如果你是新手,那可能就不那么有趣了。
按用途划分的最大区域:
这里特别重要的是自由区。最大的空闲区域决定了一个块可以获得多少内存。环顾memory fragmentation,了解为什么这可能成为一个问题。
!heap -s
为您提供关于堆的摘要,重点关注各个堆。
这些都是通过Windows堆管理器完成的本机内存分配。未列出通过VirtualAlloc()的直接分配(例如MSXML和.NET)。
上详细了解本机内存管理