这个问题已经在这里有了答案:
已关闭8年。
我正在寻找好的.NET CLR内存分析工具。
我的主要要求是,它将与IIS和独立的CLR应用程序一起良好运行。理想情况下,我将看到分配了哪些对象,它们在哪里分配以及它们的大小?
任何人都对您乐于推荐的特定工具有良好的经验吗?
最佳答案
我目前正在评估Scitech .NET Memory Profiler 3.1和ANTS Memory Profiler 5.1。我在一两年前尝试过JetBrains,它不如ANTS好,所以这次我没有打扰。通过阅读网站,看来内存分析不如其他两个更好。
ANTS和Scitech内存分析器都具有彼此不具备的功能,因此最好取决于您的喜好。一般来说,Scitech可以提供更详细的信息,而ANTS可以真正令人难以置信地识别泄漏的物体。总的来说,我更喜欢ANTS,因为它能很快发现可能的泄漏。
根据我的经验,以下是每种方法的主要优点和缺点:
ANTS和Scitech .NET Memory Profiler的共同功能
ANTS
Scitech .NET内存分析器
概括地说,我认为ANTS可以帮助您更快地发现泄漏的内容,而Scitech一旦知道了要查看的内容(例如,创建时的堆栈跟踪),就会提供有关整体应用程序内存性能和单个对象的更多详细信息。如果将堆栈跟踪和未处理的可丢弃对象的跟踪添加到ANTS,我将看不到需要使用其他任何东西。