分配内存的视图

6
我正在寻找一款工具($、免费、开源都可以),它不仅可以查看.NET程序的内存统计信息,还可以查看对象层次结构。我真的很想能够逐个浏览每个对象并查看其占用空间以及其引用的所有对象。
我已经尝试过RedGate的Ants Profiler等工具,但这并不完全符合我的需求:我无法查看特定实例。
编辑: 我之前使用过.NET Memory Profiler(与Visual Studio一起提供的那个,以及曾经是SDK的一部分的那个),虽然它非常好用(并显示其他大多数工具没有的视图),但我真正想要的是能够逐级浏览我的对象层次结构,并查看每个对象实例。
3个回答

5

我曾使用 JetBrains DotTrace 和 Redgate Ants,两者我都可以推荐。 我还用过一个不太出名的分析器,.Net Memory Profiler (http://memprofiler.com/),当时我用它提供了一个与前面两个分析器不同的内存使用方面的视角。 我发现 DotTrace 和 Ants 非常相似,但每个工具略有不同。


.NET Memory Profiler在长期使用中比JetBrains DotTrace Profiler更有用。它拥有我所需的所有信息。但是,它提供的信息如此之多,一开始可能会感到有些压倒性。 - Jon Dewees
我记得当我第一次开始使用它时也有同样的感觉。但是,一旦我跨过了那个障碍,它确实提供了一些有用的信息。 - Peter Meyer
每次我使用它时,我都觉得应该给你的答案点赞。.Net内存分析器正是我需要的分析器。 - Jon Dewees
嗨!谢谢Jon!我记得这个分析器对我也非常有帮助。 - Peter Meyer

0

JetBrains dottrace profiler 是最好的。如果没有它,我就不会工作。在这个领域很难找到一个免费且表现良好的工具。Dottrace是我用过的 .Net 最好的分析器。


0

此外还有微软的.NET分析器,我用过一点,作为一个免费工具还不错。不确定是否可以遍历对象层次结构,但是可以按类型和时间分解内存使用情况,甚至可以查看底层数据。

但是它确实会大大减慢应用程序的运行速度。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接