是否有可用于可视化动态调用图的工具?我看到了一个用于Visual Basic 6的引用,但我想要一个用于.NET。
如果我必须自己构建一个可视化工具,我应该使用 .NET分析API ,还是应该使用 Mono.Cecil 做一些事情?我开始用Cecil编写CLI运行时,但我想如果我只是在程序集中注入调用图记录调用会更容易,尽管因为我不知道提前执行路径而且必须检测所有内容
答案 0 :(得分:3)
也许CodePlex上的这个开源项目可以作为起点帮助:
<强> SequenceViz 强>
http://www.codeplex.com/sequenceviz
“SequenceViz是一个通过逆向工程.NET程序集生成序列图的工具。虽然它比后面的版本稍微多一点。”
有一个独立版本和一个实现为reflector-plugin。
答案 1 :(得分:1)
分析CLR是.NET Profiling API的目的,因此它似乎非常适合您的需求。探查器产品的大部分都是基于它的顶部。但是你必须编写非托管代码,urk。
使用Cecil也是可能的,如果你只想记录方法的输入/退出,那么非常简单。
编辑:
嗯,PostSharp可能是最好的解决方案,因为它允许您依靠静态编织来处理这样的要求。与使用Cecil直接重写IL相比,AOP提供了更好的抽象级别。
答案 2 :(得分:1)
您可以使用NProf,这是Sourceforge上的一个开源项目。它允许您使用新的可视化工具扩展默认GUI 。
“nprof不仅是一个完整的.NET应用程序分析器,而且还是一个完整的API,可用于构建其他分析器前端,以及使用新的扩展默认GUI可视化工具。“
答案 3 :(得分:1)
我喜欢CLR Profiler.我不会通过在此处复制文档来浪费空间,但听起来它正是您正在寻找的。