我有一个 .NET 进程的内存转储,它是由 DebugDiag 在抛出的 System.OutOfMemoryException 上创建的。现在我试图找出哪些对象拥有比预期更多的内存。
可以用 windbg+sos 打开这个转储,执行简单的分析,如浅对象大小统计数据并调查特定对象,但这几乎没有给我任何帮助。我对最大的支配者、支配树、特定对象持有的保留内存等感兴趣。有什么工具可以做到这一点吗?
我有一个 .NET 进程的内存转储,它是由 DebugDiag 在抛出的 System.OutOfMemoryException 上创建的。现在我试图找出哪些对象拥有比预期更多的内存。
可以用 windbg+sos 打开这个转储,执行简单的分析,如浅对象大小统计数据并调查特定对象,但这几乎没有给我任何帮助。我对最大的支配者、支配树、特定对象持有的保留内存等感兴趣。有什么工具可以做到这一点吗?
我认为您应该使用该!objsize
命令。请参阅这个有趣的链接:我收到 OutOfMemoryExceptions。我该如何解决这个问题?