在 Windows 窗体应用程序中查找长时间运行的代码的最佳方法是什么

StackOverflow https://stackoverflow.com/questions/3942

  •  08-06-2019
  •  | 
  •  

我继承了一个用 VB.Net 编写的 Windows 窗体应用程序。该应用程序的某些部分运行速度非常慢。找出代码的哪些部分出现问题的最简单方法是什么?我正在寻找一种方法来快速找到最慢的子例程并首先解决它们,以尝试加快应用程序的速度。

我知道有几种代码分析器产品可供购买,它们将显示每个子例程需要多长时间,但我希望找到一个 自由的 解决方案。

有帮助吗?

解决方案

我很欣赏寻找免费软件的愿望。然而,在这种情况下,我强烈建议考虑所有选项,包括商业产品。我尝试使用 nProf(我认为是 0.1 版本),但运气不佳。即便如此,对应用程序进行性能分析是一项微妙的工作,最好使用强大、灵活的工具来实现。除非您免费工作,否则我坚信使用专业产品节省的时间将远远超过许可证的成本。当然,如果您只想分析单个应用程序,每个商业软件包都有 15 或 30 天的试用期,这足以查明现有应用程序中的任何问题。如果您需要的分析支持不仅仅是一次性项目,那么无论如何您最好购买一个功能齐全的工具。

我们使用 ANTS 分析器 来自 RedGate,对此非常满意。我也用过 .NET 内存分析器 取得了优异的成绩。.NET Memory Profiler 的一个很酷的事情是,它可以附加到正在运行的生产应用程序并对其进行分析,当我们在生产中出现内存泄漏而无法在测试实验室中重现时,这确实节省了我们的时间。

JetBrains 人员 有一个名为 dotTrace 的分析器 我还没有尝试过,但我必须相信,如果它来自 JetBrains 商店,它可能也是一流的。

无论如何,我的建议是:尝试在其中一个或三个的聚合组合的免费试用期内修复您的应用程序(至少 45 天免费使用),如果时间不够,请选择您最喜欢的应用程序并选择其中一个。你不会后悔的。

其他提示

教授 是一个免费的 .Net 分析器(参考).

教授 是一个很好的免费 .Net 分析工具。

Visual Studio 还附带了一个相当不错的性能分析器。它并不附带所有版本 - 对于 VS2008,我认为它是您需要的开发人员版本。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top