我们的项目是用 C# 编写的,并且有一个古老的代码要求(我想自动化),其中:“每次调用时都会在模块的标题中列出被调用的单元。调用按出现的顺序列出。这个即使重复该序列,它仍然为真。
- 必须列出所有调用的单位
- 每次通话都有一份清单
- 按发生顺序"
因此,我正在寻找一种工具,它将为 C# 源文件(“.cs”)中的每个方法生成(文本)“调用树”。其中“调用树”是显示方法调用结构的静态(非运行时)树。它显示了对其他方法/类的每次调用,每个方法都以缩进的树格式显示它。
例子:
VSystem.getInfo()
VSystem.getInfo()
VSystem.getInfo()
SystemView()
SystemView()
SystemView()
BView()
VSystem.getInfo()
CView()
VSystem.getInfo()
CView()
VSystem.getInfo()
BtView()
VSystem.getInfo()
我查看了一些流行的工具,例如“CLR Profiler”、“ReSharper”、“NDepend”和“.NET Reflector”,但这些工具都专注于运行时诊断。其他工具(例如开源SequenceViz工具)通过对程序集进行逆向工程而不是解析 C# 源文件(“*.cs”)来生成调用树。我还发现了 Loius T Klauder Jr. 的这个开源调用树程序,但是它使用正则表达式来解析似乎不适用于我的代码库的 C# 代码。
任何人都可以推荐任何其他可以生成上述“调用树”的工具吗?