什么是一些好的.NET分类器?
您使用.net程序时使用了哪些性能分析器,您会特别推荐哪些性能分析器?
我广泛使用了JetBrains dotTrace和Redgate ANTS。 它们在功能和价格上非常相似。 它们都提供了有用的性能分析和相当基本的内存分析。
dotTrace与Resharper集成在一起,这非常方便,因为您可以通过单击IDE从单元测试中分析性能。 然而,dotTrace通常似乎会产生虚假结果(例如说一种方法需要花费几年才能运行)
我更喜欢ANTS呈现分析结果的方式。 它向您显示源代码并在每行的左侧告诉您运行需要多长时间。 dotTrace只是有一个树形视图。
EQATEC分析器非常基本,需要您编译组件的特殊仪器版本,然后才能在EQATEC分析器中运行。 但是,它是免费的。
总的来说,我更喜欢ANTS进行性能分析,但如果您使用Resharper,那么dotTrace的集成是一个杀手级的功能,它意味着它在可用性方面优于ANTS。
免费的Microsoft CLR Profiler(.Net框架2.0 / .Net Framework 4.0)是.NET内存分析所需的全部功能。
2011更新:
Scitech内存分析器有一个相当基本的用户界面,但有很多有用的信息,包括有关非托管内存的一些信息,dotTrace和ANTS缺乏 - 如果您正在进行COM互操作,您可能会发现它很有用,但是我还没有找到任何使得COM内存问题容易诊断 - 通常你必须打开windbg.exe
。
蚂蚁探查器在过去的几年中出现了突飞猛进的发展,其内存分析器具有一些真正有用的功能,现在推测它已经超越了dotTrace,作为我估计的一个软件包。 我很幸运能够拥有两者的许可证,但是如果您打算购买一台兼容性能和内存的.Net profiler,请将其设置为ANTS。
其他人已经介绍了性能分析,但关于内存分析,我目前正在评估Scitech .NET Memory Profiler 3.1和ANTS Memory Profiler 5.1(截至2009年9月的最新版本)。 我在一两年前尝试过JetBrains,并且它不如ANTS(用于记忆分析),所以我没有打扰过这次。 从阅读网站看来,它没有与其他两个相同的内存分析功能。
蚂蚁和赛特内存分析器都具有其他功能,所以最好取决于您的偏好。 一般而言,Scitech提供更详细的信息,而ANTS则确定泄漏物体的真实难以置信。 总的来说,我更喜欢ANTS,因为它很快识别可能的泄漏。
以下是我的经验中主要的优点和缺点:
ANTS和Scitech .NET内存分析器的共同特点
蚂蚁
Scitech .NET内存分析器
总而言之,我认为ANTS可以帮助您更快地发现泄漏的情况,而一旦您知道要查看什么内容(例如创建时的堆栈跟踪),赛特就会提供关于整体应用程序内存性能和单个对象的更多细节。 如果堆栈跟踪和未处理的一次性物体的跟踪添加到蚂蚁,我不会看到需要使用其他任何东西。
我最近发现了EQATEC Profiler http://www.eqatec.com/tools/profiler。 它适用于大多数.NET版本和一些平台。 它很容易使用,而且它的一部分是免费的,即使是商业用途。
链接地址: http://www.djcxy.com/p/40339.html