你在使用。net程序时使用过哪些分析器,你特别推荐哪一个?
当前回答
最近我一直在测试Telerik的《JustTrace》,尽管它离成品还有一段距离,但他们正在朝着正确的方向前进。
其他回答
最近我一直在测试Telerik的《JustTrace》,尽管它离成品还有一段距离,但他们正在朝着正确的方向前进。
在过去,我使用Visual Studio Team System附带的分析器。
对我来说,SpeedTrace是市场上最好的工具,因为它不仅能帮助您找到应用程序中的瓶颈。它还可以帮助你在故障排除场景中找到为什么你的应用程序崩溃,你的安装没有安装,你的应用程序挂起,你的应用程序性能有时很差取决于数据输入,例如,识别缓慢的db事务。
如果你是ASP。你可以尝试MVCMiniProfiler (http://benjii.me/2011/07/using-the-mvc-mini-profiler-with-entity-framework/)
我广泛使用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吧。