83

我需要一个 C# 分析器。

虽然我不反对付费,但免费的或至少有试用版的东西会是理想的,因为需要时间来提高采购订单。

有什么建议吗?

4

19 回答 19

40

一年半前,我在一个大型 c# 项目中使用了Ants 分析器。它的成本确实非常好,甚至超过了一些更昂贵的竞争对手。

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

于 2008-08-14T03:59:30.673 回答
35

您可以尝试以下方法:


编辑:Nprof 已被SlimTune取代并适用于 .Net 4.0 应用程序

于 2008-08-14T04:01:56.410 回答
32

EQATEC 分析器非常好,完全免费。它易于设置和使用,并且似乎不会给应用程序增加太多开销。我今天才开始使用它,并且已经发现了一些我不会发现的瓶颈。

于 2009-05-13T12:53:20.570 回答
29

JetBrains 的dotTrace被广泛使用。

Patrick Smacchia 很棒的NDepend非常适合提供静态分析。

于 2008-08-14T04:00:15.993 回答
11

我在 SharpToolbox.com 上维护了一份完整的 .NET 分析器列表。

您会在此处找到建议的工具以及更多工具,每个工具都有其建议的简短描述。

于 2009-10-27T17:38:25.877 回答
7

我们在我工作的地方使用Ants 分析器。它以简单的方式提供了非常详细的信息。

于 2008-08-14T04:04:26.887 回答
7

有趣的是,没有人提到在 Visual Studio 的高端版本中有一个 - 我一直发现它足以用于执行分析。对于内存分析,我使用已经提到的 Memory Profiler,但这不是我通常所说的“分析器”。

你试图做什么样的分析?

于 2008-08-14T10:03:47.380 回答
6

我们使用.NET Memory Profiler。它有点难看,但对于查找悬空引用非常有用。

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

1) 它慢得离谱。让应用程序进入开始录制状态需要半小时(没有红门需要 20 秒)。

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

然而,Red Gate ANTS 的计时组件令人印象深刻。只是不要打扰内存分析器,除非您正在处理一个微不足道的(小占用空间)应用程序。

于 2008-12-30T22:03:26.743 回答
4

我用过 AQtime,它从来没有让我失望过。我确定有试用版。

于 2008-08-14T03:57:36.963 回答
3

我将第二次红门的 ANTS profiler。我用它来追踪一些真正令人不安的性能问题,它使用起来非常简单(学习曲线低),并且以易于理解的方式呈现了漂亮、详细的数据。价格标签是值得的,但它不是免费的......

于 2008-10-23T21:19:44.463 回答
2

Patrick Smacchia 很棒的 NDepend 非常适合提供静态分析。

我会彻底推荐 NDepend 进行静态分析,但请注意,您可能需要花一两天时间来实际分析它提供的大量信息,并计算出所有统计数据的实际含义你的代码。

于 2008-08-14T04:26:03.193 回答
2

我对 .NET 内存分析器很幸运

于 2009-05-11T18:43:19.190 回答
2

EQATEC profiler 在这里完成了这项工作。

于 2009-07-23T12:17:41.123 回答
2

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

于 2010-02-08T13:13:54.090 回答
1

目前不要使用它们,我的一个朋友对 Ants profiler 赞不绝口。我知道它是一种付费产品,不知道有多贵。如果您碰巧配备了 MVP,您也许可以利用它免费获得许可证。

于 2008-08-14T03:55:21.617 回答
1

AQTime(性能和内存)或 ANTS(v4 性能分析器或 v5 beta 内存分析器)。

于 2009-05-12T06:07:15.143 回答
0

我昨天找到了.NET Memory Profiler,我必须说我对它印象深刻。
我今天要订购我的驾照。

于 2008-08-14T07:50:47.743 回答
0

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

于 2009-05-11T18:54:00.310 回答
0

你的目标是什么?

您的目标是定位特定语句并大致了解它们对您的总执行时间的贡献,以便找到不同的方法吗?

为此,我发誓这种方法。

于 2009-06-06T14:49:07.180 回答