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

Translate

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

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

This question and all comments follow the "Attribution Required."

所有的回答

Translate

我很高兴找到免费软件的愿望。但是,在这种情况下,我强烈建议您查看所有选项,包括商业产品。我尝试玩nProf(我认为版本是0.1),但运气并不好。即使这样,对应用程序进行性能分析也是一项微不足道的工作,最好使用功能强大且灵活的工具来实现。除非您免费工作,否则我坚信使用专业产品可以节省的时间将远远超过许可证的费用。当然,如果您只想描述一个应用程序,则每个商业软件包都将进行15天或30天的试用,这是足够的时间来确定现有应用程序中的任何问题。而且,如果您不仅需要一次性项目的概要分析支持,还是最好购买功能全面的工具。

我们使用ANTS分析器来自RedGate,对此非常满意。我也用过.NET内存探查器效果极佳。 .NET Memory Profiler的最酷的地方是它可以连接并配置正在运行的生产应用程序,当生产中出现内存泄漏而我们无法在测试实验室中复制时,这确实节省了我们的麻烦。

JetBrains员工有一个探查器,也称为dotTrace我没有尝试过,但是我必须相信,如果它来自JetBrains商店,那么它也可能是一流的。

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

来源
Translate

教授是一个免费的.Net探查器(参考)。

来源
Translate

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

来源
Translate

Visual Studio还附带了一个非常出色的性能分析器。并非所有版本都提供它-对于VS2008,我认为它是您需要的Developer Edition。

来源