哪个内存分析器会告诉我每代收集的内容?

时间:2011-06-07 08:53:29

标签: c# .net memory

我最近对在哪一代中收集哪些对象感到好奇。自从我上次使用剖面仪以来,已经有一段时间了,我认为是SciTech。我不记得它显示了按世代数排序的集合细分,但我可能错了。

在我去安装一大堆个人资料之前,有人有推荐吗?

4 个答案:

答案 0 :(得分:2)

JetBrains dotTrace与ANTS同样出色。以防你想要更多选择。

答案 1 :(得分:1)

ANTS Performance Profiler 6.2 .NET代码分析器:提高.NET应用程序的性能

答案 2 :(得分:1)

您可以使用 WinDbg 。有一个名为SOSex(SOSEX)的扩展,它扩展了标准SOS.DLL调试器扩展提供的基本命令。

具体来说,它有一个命令!dumpgen ,它会转储指定代的内容。

此外,使用SOS !FindRoots ,您可以在GC即将收集一代时设置断点。

答案 3 :(得分:1)

我使用ANTS - 它由2个独立的分析器组成,一个是性能分析器,另一个是记忆分析器。您需要使用ANTS Memory Profiler来查看对象集合。这绝对可以让你分别检查不同的世代。