你在使用。net程序时使用过哪些分析器,你特别推荐哪一个?


当前回答

我一直在使用JetBrains dotTrace用于WinForms和控制台应用程序(尚未在ASP.net上测试),它工作得很好:

他们最近还增加了“个人许可证”,比企业许可证便宜得多。不过,如果有人知道一些更便宜甚至免费的,我也想听听:-)

其他回答

当前版本的SharpDevelop(3.1.1)有一个很好的集成分析器。它非常快,并且很好地集成到SharpDevelop IDE和它的NUnit运行器中。结果以灵活的树/列表样式显示(使用LINQ创建自己的选择)。双击显示的方法将直接跳转到源代码。

我自己还没试过,但也许dotTrace?他们的ReSharper应用程序当然是一个很好的应用程序。也许dotTrace也是:)

我想添加yourkit java和。net profiler,我喜欢它的java,但还没有尝试过。net版本。

我以前跟红门的侧写师合作过。帮我完成了任务。

我广泛使用JetBrains dotTrace和Redgate ANTS。它们在功能和价格上相当相似。它们都提供有用的性能分析和相当基本的内存分析。

dotTrace与Resharper集成在一起,这非常方便,因为您可以在IDE中单击一下就可以分析单元测试的性能。然而,dotTrace似乎经常给出虚假的结果(例如,说一个方法运行了好几年)

我更喜欢ANTS呈现分析结果的方式。它向您显示源代码,并在每行的左边告诉您运行所需的时间。dotTrace只有一个树视图。

EQATEC分析器非常基本,需要编译程序集的特殊仪器版本,然后可以在EQATEC分析器中运行。然而,它是免费的。

总的来说,我更喜欢ANTS的性能分析,尽管如果你使用Resharper,那么dotTrace的集成是一个杀手级特性,意味着它在可用性上击败了ANTS。

免费的微软CLR分析器(。Net framework 2.0 / .Net framework 4.0)是.Net内存分析所需要的全部。

2011年更新:

Scitech内存分析器有一个相当基本的UI,但有很多有用的信息,包括一些关于非托管内存的信息,这是dotTrace和ANTS所缺乏的——如果你正在做COM互操作,你可能会发现它很有用,但我还没有找到任何分析器,使COM内存问题易于诊断——你通常必须打开windbg.exe。

在过去的几年中,ANTS分析器得到了飞速的发展,它的内存分析器有一些真正有用的特性,在我看来,这些特性使它在包方面领先于dotTrace。我很幸运,这两种工具我都有许可证,但是如果你打算同时购买一个性能和内存方面的。net分析器,那就买ANTS吧。