【发布时间】:2010-10-22 01:50:01
【问题描述】:
我刚得到一堆(大部分未记录的)C# 代码,我想在深入研究并开始重构之前可视化它的结构。我过去(在其他语言中)使用生成调用图的工具来完成此操作。
您能推荐一个用于促进 C# 中结构发现的好工具吗?
更新
除了这里提到的工具,我(通过管道)看到人们说.NET Reflector 和CLR Profiler 有这个功能。有这方面的经验吗?
【问题讨论】:
标签: c# .net code-analysis call-graph
我刚得到一堆(大部分未记录的)C# 代码,我想在深入研究并开始重构之前可视化它的结构。我过去(在其他语言中)使用生成调用图的工具来完成此操作。
您能推荐一个用于促进 C# 中结构发现的好工具吗?
更新
除了这里提到的工具,我(通过管道)看到人们说.NET Reflector 和CLR Profiler 有这个功能。有这方面的经验吗?
【问题讨论】:
标签: c# .net code-analysis call-graph
我使用doxygen 取得了一些成功。这有点令人困惑,但免费且有效。
【讨论】:
截至今天(2017 年 6 月),同类产品中最好的工具是 Resharper 的检查功能。它允许您查找所有来电、去电、值来源/目的地等。
与上述其他工具相比,ReSharper 最好的部分:它的错误更少。
【讨论】:
有点晚了,但http://sequenceviz.codeplex.com/ 是一个很棒的工具,可以显示调用者图/序列图。这些图表是通过逆向工程 .NET 程序集生成的。
【讨论】:
SequenceViz 和 DependencyStructureMatrix for Reflector 可能会对您有所帮助:http://www.codeplex.com/reflectoraddins
【讨论】:
另外,逐个方法 - 反射器(分析器(Ctrl+R);“取决于”和“使用者”)
【讨论】:
NDepend 在这方面做得很好。此外,Visual Studio 2008 Team System 有许多功能可以让您跟踪圈复杂度,但它比 NDepend 更基本。 (运行代码分析)
【讨论】:
我不确定它是否会仅对源代码执行此操作,但ANTS Profiler 将为正在运行的应用程序生成调用图(无论如何可能更有用)。
【讨论】: