我可以帮您翻译成中文。您想知道哪里可以找到一个查看内存中对象的工具?

4

我正在寻找一款可以告诉我关于我的对象的工具。我想看到哪些对象被实例化,准备进行垃圾回收等等。我意识到我可以测试每个对象,但我更喜欢了解我的应用程序的整体情况。这将用于故障排除。

有什么建议吗?

6个回答

3
我认为这取决于你将如何频繁地使用该工具。WinDbg + SOS 可以满足你提出的所有要求,而且功能更加强大,但是它有一个漫长而陡峭的学习曲线。它非常强大,因为它可以让你检查应用程序的托管和本机部分,但需要一些时间来适应。 WinDbg 是免费的,SOS 随 .NET Framework 一起提供。另外,还可以查看 PSSCor2 和 SOSEX.dll 等其他选项。
另外,还有几个商业替代品,可能会给你带来更顺畅的体验。我喜欢 ANTS Memory Profiler,但 .NET Memory Profiler 也非常不错。

2
在这种情况下,最佳解决方案是使用带有Son of Strike (SOS)扩展的WinDbg。请参见MSDN
至于使用WinDbg进行托管调试的概述,Tess的博客是一个非常好的资源。 编辑: 如果您有兴趣查看与垃圾回收相关的对象引用,则此帖子特别有趣。

2

你需要一个代码分析工具(JetBrains dotTrace 和 Redgate ANTS 是特别好的商业代码分析工具)。


1

0

我会推荐CLR Profiler,但我不认为它已经更新到4.0版本。



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