代码之家  ›  专栏  ›  技术社区  ›  Mark Cidade

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

  •  5
  • Mark Cidade  · 技术社区  · 17 年前

    我看到一个关于VisualBasic6的参考,但我想要一个关于.NET的参考。

    如果我必须自己构建一个可视化工具,我应该为它费心吗 或者我应该做点什么 盲肠单胞菌 ? 我开始用Cecil编写CLI运行时,但我想如果我只是在程序集中注入调用图来记录调用会更容易,尽管我事先不知道执行路线,而且必须对所有内容进行检测。

    4 回复  |  直到 16 年前
        1
  •  3
  •   splattne    17 年前

    也许CodePlex上的这个开源项目可以作为起点:

    SequenceViz

    http://www.codeplex.com/sequenceviz

    有一个独立版本和一个作为reflector插件的实现。

    alt text http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=sequenceviz&DownloadId=44432

        2
  •  1
  •   Marjan Venema    10 年前

    分析CLR是.NET分析API的目的,因此它似乎非常适合您的需要。探查器产品的大部分都是基于它之上的。但你必须写非托管代码,厄尔克。

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

    编辑:

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

        3
  •  1
  •   Justin R.    17 年前

    我爱这个世界 CLR Profiler. 我不会在这里复制文档来浪费空间,但听起来它正是您想要的。

        4
  •  1
  •   Mark Cidade    14 年前

    你可以用 NProf 使用新的可视化工具扩展默认GUI .

    “nprof不仅是一个成熟的.NET应用程序探查器,而且是一个完整的API,可用于构建其他探查器前端,并使用新的可视化工具扩展默认GUI。”