你在使用。net程序时使用过哪些分析器,你特别推荐哪一个?
当前回答
AQTime是合理的,但有一点学习曲线,并且不像Team Suite中内置的那样容易使用
其他回答
我们公司为。net选择了YourKit Profiler,因为它是性价比最高的(价格vs功能)。对于一个想要拥有灵活许可(浮动许可)的小公司来说,这是一个完美的选择——当时ANTS是开发人员座位挂坠盒。
此外,它为我们提供了附加到正在运行的进程的能力,这在dotTrace中是不可能实现的。注意,虽然附加不是最好的选择,因为所有的。net程序都会变慢,但这是分析由其他进程启动的。net应用程序的唯一方法。 在功能方面,ANTS和dotTrace更好——但最终YourKit已经足够好了。
我怀疑Visual Studio Team System自带的分析器是不是最好的分析器,但我发现它在很多情况下已经足够好了。除了维密所提供的,你还需要什么?
编辑:不幸的是,它只在VS团队系统中可用,但如果你有机会,它值得一试。
我自己还没试过,但也许dotTrace?他们的ReSharper应用程序当然是一个很好的应用程序。也许dotTrace也是:)
最新版本的ANTS内存分析器(我认为它是5)简直太棒了!!我使用WinDbg和SOS来解决泄漏,因为它被证明是最好的方法,然后我尝试了ANTS,几分钟就搞定了。真是一个很棒的软件。
我广泛使用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吧。
推荐文章
- 将字符串转换为System.IO.Stream
- 如何从枚举中选择一个随机值?
- 驻留在App_Code中的类不可访问
- 在链式LINQ扩展方法调用中等价于'let'关键字的代码
- dynamic (c# 4)和var之间的区别是什么?
- Visual Studio: ContextSwitchDeadlock
- 返回文件在ASP。Net Core Web API
- 自定义HttpClient请求头
- 如果我使用OWIN Startup.cs类并将所有配置移动到那里,我是否需要一个Global.asax.cs文件?
- VS2013外部构建错误"error MSB4019: The imported project <path> was not found"
- 从另一个列表id中排序一个列表
- 等待一个无效的异步方法
- 无法加载文件或程序集…参数不正确
- c#中枚举中的方法
- 如何从字符串中删除新的行字符?