2011-12-20 52 views
2

我必须研究一个涉及多个(此处未知)步骤的特定过程。 我需要一些有效的方法来分析考虑时间跨度(可能的内存使用情况)涉及哪些通用子进程(驻留在各种程序集中)。分析组件上的代码流

只要智能地设置断点即可运行代码,意味着花费太多时间寻找放置它们的“智能”位置。后来,我还将不得不重新创建数百个方法调用和辅助类中的一般逻辑步骤的一般序列。

生成序列图可能会有所帮助,但它也可能跨越地球到火星)。因此,您可能会意识到某些工具可以帮助您理解具有某种合理抽象级别的流程逻辑。

(我试过内置分析器用于VS - 这是很好的,但需要很多时间来分析结果,并实际显示hotpoints,再没有“还原”实际的逻辑。)

回答

3

NDepend,因为要执行的代码分析,可能是对您有所帮助。

既然您提到您想从运行代码生成序列图...来自Sparx系统的Enterprise architect可以做到这一点。看看manual

This链接也对你有用。

如果你有一些钱花你可以使用RedGate Develper Bundle for .NET它有性能分析器,内存分析等,它也有一个评估版本。

还有其他更便宜的alternatives用于轮廓仪。

+0

一个非常有趣的工具列表。非常感谢。 – Nickolodeon 2012-01-16 15:38:26

+0

@Nickolodeon - 总是乐于帮忙;) – TheBoyan 2012-01-16 15:40:39

0

有更先进分析器应用程序比Visual Studio Profiler,但除非你是逻辑使用单独的AppDomain或者很容易分组,它总是需要大量的时间来调查这些类型的问题。

Visual Studio Ultimate能够从您的代码生成依赖性矩阵和序列图。 VisualNDepend也可以做到这一点。但是,虽然这些将会让你了解代码的静态行为,但它不会帮助你弄清楚它的运行时行为。

代码分析(在Visual Studio Premium和Ultimate中)有一套基于新DataFlow分析引擎的规则。有可能为这些编写自定义规则,但做最不重要的事情并不是最简单的事情。

您可能能够智能跟踪与数据探查的结果结合起来,找准

+0

...结果是什么? – 2012-01-03 16:37:44