有没有像样的C#分析器?[关闭]


83

我需要一个C#分析器。

尽管我不愿意花钱购买,但免费或至少带有试用版的东西是理想的选择,因为要花很多时间才能提高采购订单。

有什么建议吗?



关于SO,它说了很多,审查问题的原因是“有可能引起辩论”。
Glenn Maynard 2014年

Answers:


35

您可以尝试以下操作:


编辑:Nprof已被替换SlimTune与.NET 4.0的应用程序的工作原理


7
我玩过ProfileSharp。太可怕了
马修·鲁斯顿

1
我认为nprof是.Net 1.1。如果可以编译为.Net 1.1,则对其进行概要分析然后重新编译为.Net 2进行发布可能仍然有用。但是,如果您开始使用.Net2功能(例如泛型和可为空的类型),则这是不可能的。
redcalx

1
同意Matthew的观点,ProfileSharp非常糟糕,即使是最简单的命令行exe也无法对其进行分析。不要浪费您的时间
Michael Dausmann

nprof上的开发似乎最近有所发展。
布赖恩·奥尔蒂斯

1
我已经使用.Net Memory Profiler来查找内存泄漏。这是相当不错。得到我的认可!
Cylon Cat

40

一年半以前,我在大型C#项目上使用了Ants profiler。就其成本而言,它确实表现非常出色,甚至超过了一些更昂贵的竞争对手。

它几乎以逐行分辨率计算成本。


1
我也喜欢蚂蚁 它来自Redgate。
Marcel

32

EQATEC探查是非常好的,是完全免费的。它易于设置和使用,并且似乎不会为应用程序增加太多开销。我今天才刚刚开始使用它,并且已经发现了我本来不会发现的几个瓶颈。


并非免费获得商业许可证(但仍然很便宜,200美元)。
mhenry1384

是的,看起来他们已经更改了最新版本的许可,并开始为商业用途收费。我仍然强烈推荐它。
HullCitySteve

3
更新-看来他们再次更改了许可条款,以使其免费提供给标准.NET应用程序(而非CF或Silverlight)用于商业用途
HullCitySteve 2010年

3
许可条款在版本3.6中再次更改:现在,它对所有平台(包括CF和Silverlight)都是免费的,并且在一个会话中可以检测的DLL数量受到限制。
理查德·弗拉姆斯霍尔特

3
不再免费,已由Telerik收购:(
pingoo 2013年



7

有趣的是,没有人提到Visual Studio的高端版本中有一个-我一直发现对于执行性能分析已经足够了。对于内存分析,我使用了已经提到的Memory Profiler,但我通常将其描述为“ Profiler”。

您尝试执行哪种分析?



6

我们使用.NET Memory Profiler。它有点丑陋,但对于查找悬挂的参考非常有用。

我最初尝试过Red Gate的ANTS profiler,它非常性感,但是从内存泄漏的角度来看,它很烂,原因如下:

1)它的速度太慢了。使该应用程序进入开始记录状态需要花费半小时的时间(需要20秒而没有出现红门)。

2)Red Gate需要在自己的工具上运行自己的工具。当我完成两个快照时,它已经使用了900MB的内存!然后它崩溃了:(

但是,Red Gate ANTS的计时组件令人印象深刻。只是不必理会内存分析器,除非您要处理一个琐碎的(小占用空间)应用程序。


2
您是否尝试过两者的v4?现在全面好多了:)
thecoop

4

我用过AQtime,它从未让我失望过。我确定有一个试用版。


AQTime与ANT相比具有巨大的优势,因为它支持非托管代码。
里克·梅里希


2

Patrick Smacchia出色的NDepend非常适合提供静态分析。

我会彻底推荐NDepend进行静态分析,但要提醒您,您可能需要花一两天的时间来实际分析它提供的大量信息,并弄清楚所有统计信息实际上意味着您的代码。



2

EQATEC探查器在这里完成了工作。


2

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


1

目前不使用它们,这是有关Ants profiler的雷鬼伙伴。我知道它的付费产品不确定价格如何。如果您碰巧雇用了一名MVP,您也许可以利用它免费获得许可证。


您能否提供有关整个MVP的更多细节?谢谢,
kay.one

如果您的团队中有某些人是MVP,那么MVP就可以免费使用产品重新授权,如果您的团队中有其他人,那么MVP将使您免于支付费用。
DevelopingChris

您是否有描述此漏洞的链接以及如何利用该漏洞?
基思·西蒙斯



0

尽管对于分析内存使用情况不是很好,但是某些版本的Visual Studio中包含的分析器在分析执行速度方面做得很好。


进入VS2010事件探查器的一种方法是,在加载解决方案后,从“调试”菜单中找到“启动性能分析”。它的功能详情见msdn.microsoft.com/query/...
ShawnFeatherly

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.