是否有可能在.NET中逐行分析?

时间:2014-10-22 14:03:24

标签: c# .net performance visual-studio analysis

我在这里有一个关于性能的有趣问题,并且想知道是否有办法做我想做的事情:

我正在处理大型代码库(10,000多行),我想运行代码并直观地分析代码中占用最多时间的行。例如,是否有任何可以突出显示占用.NET中最长时间的代码行和/或在每行上花费时间?在我看来,我正在想象一些简单的东西,比如每行代码的绿色,黄色和红色高亮,也许还有一段时间告诉你每行的运行时间。

获得时间的一种方法是通过Stopwatch,但是必须一遍又一遍地添加Stopwatches这样的痛苦。我怎么能像这样分析我的代码库呢? Visual Studio或.NET是否有开箱即用的东西?

编辑:感谢Patrick,我发现了ANTS,它完全符合我的要求(在另一个窗口中也显示红色的HOT!行 - 占用最多的行时间...仅供参考:这不是一个分析器广告;我只是需要一个逐行的分析器来满足我的需求,这就是诀窍所​​以接受或离开它:

enter image description here

1 个答案:

答案 0 :(得分:2)

它被称为分析器,其中有很多。

某些Visual Studio版本附带内置分析工具。我常用的另一个工具是ANTS Performance Profiler。

他们会根据所使用的设置对哪个方法处于活动状态(采样)进行采样,甚至根据每行/语句(检测)收集信息。您可以使用它来检查最常用的行,或者每行消耗最多的行。

作为示例,请查看my question中有关从分析中获取的统计信息的图像。