C# - 应用程序显示函数之间的所有依赖关系?

时间:2010-08-29 08:05:27

标签: c# dependencies

是否有某种应用程序可以分析源代码并以图形方式显示函数之间的所有连接?

我需要它来处理我正在处理的遗留代码 - 这是巨大的,功能性的,写得不好...... :(

5 个答案:

答案 0 :(得分:7)

NDepend正是这样做以及更多其他事情(代码指标......)

答案 1 :(得分:4)

在Visual Studio 2010 Ultimate中,您可以Generate Sequence Diagrams

http://www.devcurry.com/2010/03/generate-sequence-diagrams-in-visual.html

您还可以查看MSDN文档以获取详细信息:

http://msdn.microsoft.com/en-us/library/dd409458.aspx

这也可能是有趣的(为.NET代码生成依赖关系图):

http://msdn.microsoft.com/en-us/library/dd409453.aspx

答案 2 :(得分:2)

NDepend确实可以像管理的madgnome一样管理calling graph。让我发展一下。 首先,您可以通过CQL查询请求调用Graph,其次,您可以将查询结果导出到依赖关系图或依赖关系矩阵。

具体来说,下面我们要求NUnit 2.4.8中的类AppDomain的方法调用者(它可以是方法,字段,命名空间......等等)。由于NDepend VS插件,此菜单也可能出现在Visual Studio中。

alt text

然后为我们生成一个CQL查询,我们可以看到在调用图中匹配了30个方法。我们可以选择在图形图形中导出这些方法...

alt text

...这里是输出图(请参阅此图的大版本图片here

alt text

答案 3 :(得分:0)

.Net Reflector非常整洁 - 我已经用了几次来获取这类信息。有许多插件,其中至少有一个生成依赖关系图。

此外,在VS.Net 2008或更高版本中,右键单击“查找所有引用”可能很有用。

答案 4 :(得分:0)

ReSharper提供的功能允许您查看方法图,即调用方法和反之亦然。 (外拨和来电)

这是名为“Call Tracking”的新功能