在那里有任何像样的C#分析器?
我需要一个C#分析器。
虽然我并不反对为此付费,但免费或至less有试用版的东西是理想的,因为需要时间来提高采购订单。
任何build议?
您可以尝试以下方法:
- nprof (免费但有点旧 )
- ProfileSharp (开源)
- .Net内存分析器 (内存泄漏真的很好,有一个试用版)
编辑:Nprof已被replace为SlimTune并与.Net 4.0应用程序
一年半前,我在一个大型的c#项目上使用了ant探查器 。 它的成本确实非常好,甚至超过了一些较昂贵的竞争对手。
它几乎一行一行地计算成本。
EQATEC分析器非常好,完全免费。 这很容易设置和使用,而且似乎不会为应用程序增加太多的开销。 我今天刚开始使用它,已经发现了一些我不会发现的瓶颈。
JetBrains的dotTrace被广泛使用。
Patrick Smacchia非常棒的NDepend非常适合提供静态分析。
我在SharpToolbox.com上维护一个完整的.NET分析器列表 。
你会发现这里提供的工具和更多的工具,每个工具都提供了一个简短的描述。
有趣的是,没有人提到在Visual Studio的高端版本中有一个版本 – 我总是发现对于执行分析来说足够好。 对于内存分析,我使用已经提到过的内存分析器,但不是我通常所说的“分析器”。
你想要做什么样的分析?
我们使用ant探查器工作。 它以简单的方式提供非常详细的信息。
我们使用.NET内存分析器 。 它有点丑,但非常有用的find悬而未决的参考。
我最初尝试了红门的ant探测器 ,这非常性感,但从内存泄漏的angular度来看,它吸引了以下原因:
1)它可笑的慢。 需要半个小时才能使应用程序进入开始录制的状态(需要20秒没有红门)。
2)红门需要在自己的工具上运行自己的工具。 当我完成两个快照时,它正在使用900MB的内存! 然后坠毁:(
然而,红门ANTS的计时部分令人印象深刻。 只要不打扰内存分析器,除非你正在处理一个微不足道(小脚印)的应用程序。
我用过AQtime,从来没有让我失望。 我确定有一个试用版。
我会第二个红门的ant探查器 。 我用它来追踪一些令人困扰的性能问题,它使用起来很简单(低的学习曲线),并以易于理解的方式呈现出好的,详细的数据。 价格标签是值得的,但它不是免费的…
Patrick Smacchia非常棒的NDepend非常适合提供静态分析。
我会彻底推荐NDepend用于静态分析,但是只是要提醒您,您可能需要搁置一两天才能真正分析它提供的信息量,以及计算出所有统计数据实际上意味着什么你的代码。
EQATEC分析器在这里完成了这项工作。
SharpDevelop(3.1.1)的当前版本有一个很好的集成分析器。 它非常快速,并且很好地集成到了SharpDevelop IDE和它的NUnit运行器中。 结果以灵活的Tree / List风格显示(使用LINQ创build您自己的select)。 双击显示的方法直接跳转到源代码。
目前不使用它们,我的一个好友狂欢ant探查器。 我知道它是一个付费产品不知道有多昂贵。 如果你碰巧雇用了一名MVP,你可以利用这个免费获得一个许可证。
我已经与.NET内存分析器运气好
AQTime(perf和memory)或ANTS(v4性能分析器或v5 beta内存分析器)。
我昨天find了.NET Memory Profiler ,我必须说我对它印象深刻。
我今天要去订购我的执照。
虽然不太好分析内存使用情况,但某些版本的Visual Studio中包含的分析器在分析执行速度方面做得非常好。
你的目标是什么?
你的目标是find具体的陈述,并粗略地了解它们对你的总执行时间有什么贡献,所以你可以find方法来做不同的事情吗?
为此,我发誓这种方法。
SlimTune看起来非常有前途。 http://code.google.com/p/slimtune/