【问题标题】:Good Profiler for C# 2010? [closed]适合 C# 2010 的分析器? [关闭]
【发布时间】:2011-08-04 07:05:10
【问题描述】:

我喜欢 Visual Studio Ultimate 2010 的分析器。但我没有 8,000 美元或任何成本来获得该功能。是否有任何性能分析器同样好,甚至更好?它不一定是免费的。我基本上希望看到像方法 X 这样的东西有这么多的包含时间,它被 WHO 调用的次数,独占时间等等。还有其他的吗?

【问题讨论】:

标签: c# visual-studio profiling profiler


【解决方案1】:

Ants Profiler 很不错:http://www.red-gate.com/products/dotnet-development/ants-performance-profiler/

我也喜欢dotTrace:http://www.jetbrains.com/profiler/

Ants 更强大,但 dotTrace 的公司支持很棒 :)

此外,使用 dotTrace,如果您正在进行开源项目,那么您可以获得开源许可证。他们也经常更新,并且仍然支持 .netCF(对于 VS 2008。对您来说并不重要,但表明他们关心并支持所有 Windows 平台)

编辑:

这是我正在处理的项目的 2 个屏幕截图,在 dotTrace 中进行了分析。正如您可以从第一张图片中看到的那样,您将获得按线程组织的调用树。它显示了每个方法和子方法的包含时间和包含运行百分比。

在这张图片中,您可以看到独占运行时间、调用次数,并在下方面板中看到调用所选方法的函数(在顶部面板中)以及调用次数和递归调用次数。

我不隶属于 jetbrains,但我有几个开源项目,他们因此给了我免费许可证。因此,我真的很喜欢这家公司。

希望这会有所帮助!

(哦,我有专业版。我不确定其他版本有什么没有)

【讨论】:

  • 那么对于我在第一篇文章中提到的相同功能,我会选择哪个版本? dotTrace 包和 ANTS .NET Developer 包是唯一能满足我需求的两个版本吗?
  • 两者都这样做(至少从我的记忆中)。我会找一些截图给你看。如果不是,我将发布来自 dotTrace 的那些。我目前没有在我的计算机上安装 Ants,所以我必须去旧桌面获取它的屏幕截图。当我发现一些东西时,我会更新我的帖子
  • 基本版本会这样做,还是我需要获得所有功能的最高版本?
  • 好的,我更新了我的帖子。至于 dotTrace 标准版本的限制,我认为您仅限于无法分析 Silverlight 项目。也许其他人,但我不确定。
  • 好的,谢谢。你知道我是否可以为这两种产品分别试用两个版本(标准版和专业版)吗?这样我就可以查看它是否缺少我需要的功能。我知道有些公司只让你试用 Pro 或 Ultimate 版本。你有没有碰巧找到任何 ANTS 截图?
【解决方案2】:

jetbrains dotTrace 在这种情况下经常被提及。它没有那么昂贵但功能强大。

【讨论】:

  • 我对 dotTrace 和 Ants 都进行了评估,发现 Ants 更易于使用并帮助我更快地解决问题。他们都工作得很好,蚂蚁更容易
  • 我同意,但是当我转移到另一台计算机时,我遇到了一些许可问题,并且在我解决问题之前我一直暂停使用 Red-Gate。 jetbrains 的支持非常好。我询问了一个功能,第二天让开发人员(通过电子邮件)与我联系,他们将其放入下一个版本!我被吓倒了
  • 我有一个复杂的 ASP.NET 项目,而 dotTrace 是我尝试过的唯一一个完美运行的分析器。我尝试了其他分析器,包括 VS Ultimate Profiler、Red Gate ANTS 和 EQATEC,但它们都无法处理它——它们使我的应用程序崩溃或无法工作。 dotTrace 的忠实粉丝。
【解决方案3】:

我使用了两个免费的:

来自 Smart Bear 软件的 AQTime(免费版缺少 Visual Studio 中的酷炫集成,该软件在边距/装订线中显示例程中每一行所花费的时间百分比)。 在此处下载免费版本: http://smartbear.com/products/free-tools/aqtime-standard/

有时我也会使用 SharpDevelop 附带的免费分析器: http://www.icsharpcode.net/opensource/sd/download/

虽然我更喜欢 AQTime Pro,它的学习曲线更陡峭,但一旦你掌握了窍门,它确实提供了很多洞察力(我用它来分析代码,而不是为了速度优化,而只是跟踪代码的路径(谁调用这个方法当我点击...)。

曾经尝试过 JetBrains,但我发现它缺少太多功能,无法在上面花费任何东西。

从未尝试过 RedGate。

编辑:还有一个我用来快速浏览正在发生的事情的工具:SoftwareTrails (http://www.lovettsoftware.com/LovettSoftware/post/2012/09/07/Software-Trails.aspx)。设置和构建用于实时分析而不是事后查看结果是最简单的。

【讨论】:

    【解决方案4】:

    我一直在使用EQATEC Profiler。他们有一个免费版本,还有一种方法是通过试用他们的另一种产品而无需付费即可获得完整许可。

    【讨论】:

    • 我成功了。请注意,它只是桌面版(没有 ASP.NET)。
    • @mhenry1384,EQATEC Profiler 确实适用于 ASP.NET。我现在正在使用它。见Profiling ASP.NET websites with EQATEC Profiler
    • @Gan 很高兴知道。我刚刚尝试过,不幸的是无法让它工作。我需要分析的项目很复杂,唯一似乎不会被它扼杀的分析器是 JetBrains dotTrace。
    • @mhenry1384,你遇到了什么问题?也许您可以将其作为另一个问题发布,我可以提供帮助?
    【解决方案5】:

    Redgate 出售他们的ANTS Performance Profiler

    还可以查看this question的第一个答案中的产品列表。

    【讨论】:

      【解决方案6】:

      我们的C# Profiler 可以做到这一点。

      【讨论】:

        【解决方案7】:

        你看过InsightProfiler吗?

        它是免费的,虽然网站是英文的,但软件本身有一个英文用户界面。 它的用户界面掩盖了它很容易习惯它,并且给人一种轻巧的感觉。我经常使用它。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-09-05
          • 1970-01-01
          • 2011-06-04
          • 2010-09-10
          相关资源
          最近更新 更多