如何查看.NET程序的动态调用图的可视化?

Mar*_*ade 5 .net profiling visualization call-graph

是否有可用于可视化动态调用图的工具?我看到了一个用于Visual Basic 6的引用,但我想要一个用于.NET.

如果我必须自己构建一个可视化工具,我是否应该使用.NET分析API,或者我应该使用Mono.Cecil做什么?我开始用Cecil写一个CLI运行时,但我想如果我只是在程序集中注入调用图记录调用会更容易,尽管因为我不知道提前执行路径而且必须检测所有内容.

Rom*_*ier 1

分析 CLR 是 .NET 分析 API 的目的,因此它似乎非常适合您的需求。大部分Profiler产品都是基于它之上的。但你必须编写非托管代码,urk。

使用 Cecil 也是可能的,如果您只想记录方法的进入/退出,则非常简单。

编辑:

那么,PostSharp可能是最好的解决方案,因为它允许您通过静态编织来处理这样的需求。AOP 提供了比直接使用 Cecil 重写 IL 更好的抽象级别。