2009-04-27 111 views
27

我刚刚得到了一堆(大部分是未公开的)C#代码,我希望在我潜入并开始重构之前形象化它的结构。我过去用其他语言完成了这项工作,并使用生成调用图的工具。C#调用图形生成工具

你能推荐一个好的工具来促进C#中结构的发现吗?

UPDATE

除了这里提到的工具我见过(通过管)人说.NET ReflectorCLR Profiler具有此功能。有这些经验吗?

回答

16

NDepend很不错。另外,Visual Studio 2008 Team System有许多功能可以让你跟踪圈复杂度,但比NDepend更基本。 (运行代码分析)

+0

NDepend功能集和截图(来自网站)看起来很有趣。我要检查一下。 – 2009-04-27 14:47:31

2

我不确定它是否会对源代码执行此操作,但ANTS Profiler将生成正在运行的应用程序的调用图(无论如何可能会更有用)。

3

Visual Studio 2010

另外,在方法,通过方法的基础 - 反射器(分析仪(按Ctrl + R);“依赖”和“使用”)

+0

或外部反射器..右键单击..找到所有参考资料,定义 – 2009-04-27 14:24:22

+0

我将不得不将我的项目转换为新的Visual Studio格式?如果是这样,这个过程有多痛苦? – 2009-04-27 14:46:39

+0

@Waylon Flinn:谁知道...产品还没有发布,甚至还没有发布。然而:VS2005到VS2008,项目文件自动升级并且(大部分)向后兼容;解决方案文件是自动升级的,但不是*向后兼容。 – 2009-04-27 14:55:16

5

我已经使用doxygen取得了一些成功。这有点令人困惑,但免费且有效。

8

关于NDepend的,它可以产生一些可用的调用图像例如(图像全尺寸here

alt text

查找NDepend的调用图here更多的解释。

0

截止到今天(2017年6月),班上最好的工具是Resharper's Inspect功能。它允许你找到所有的来电,去电,价值的起源/目的地等。

ReSharper的最好的部分,与上面提到的其他工具相比:它的车错少。