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

我继承了用VB.Net编写的Windows Forms应用程序。应用程序的某些部分运行非常缓慢。什么是最简单的方法来找到代码的哪些部分是持有的东西?我正在寻找一种方法来快速找到最慢的子程序,并首先解决它们,以加快应用程序的速度。

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

0

4 答案

nProf is a free .Net profiler (ref).

0
额外

nProf is a good, free tool for .Net Profiling.

0
额外

Visual Studio还附带了性能分析器,这非常好。它没有附带所有版本 - 对于VS2008,我认为它是您需要的开发版。

0
额外
请注意,在VS2010中,这仅包含在Premium和Ultimate中
额外 作者 Adam Lewis,

我很欣赏找到免费软件的愿望。但是,在这种情况下,我强烈建议查看所有选项,包括商业产品。我试图玩nProf(0.1版我认为),并没有太多的运气。即便如此,性能分析应用程序也是一项微妙的业务,最好使用功能强大且灵活的工具来处理。除非你是免费工作,否则我坚信使用专业产品的时间将远远超过许可证的成本。当然,如果您只想分析一个应用程序,那么每个商业软件包都会有15或30天的试用期,绰绰有余的时间可以查明现有应用程序中的任何问题。如果你不仅需要一次性项目的分析支持,反正你最好购买一个全功能的工具。

我们使用RedGate的 ANTS分析器,并对此非常满意。我还使用了 .NET内存分析器,并获得了很好的结果。关于.NET Memory Profiler的一个很酷的事情是,它可以连接到并配置正在运行的生产应用程序,当我们在生产中发生内存泄漏时,我们无法在测试实验室中重现这些应用程序,这真的可以节省我们的时间。

JetBrains的人有一个我称之为dotTrace的探查器,我还没有尝试,但我必须相信如果它来自JetBrains店,它可能也是顶尖的。

无论如何,我的建议是这样的:尝试修复您的应用程序在一个免费试用窗口或其中三个(至少45天免费使用)的总和组合,如果这是不够的时间,选择你最喜欢的和春天为其中之一。你不会后悔的。

0
额外