【问题标题】:C#: Access Call hierarchy from codeC#:从代码访问调用层次结构
【发布时间】:2012-04-04 09:35:17
【问题描述】:

在 Visual Studio 中,您可以显示单个函数的调用层次结构。我正在寻找的是相同的功能,但可以从 C# 代码内部访问。

是否可以通过自己编写的 Visual Studio 插件使用某些 API?或者我可以直接访问一些库来进行代码分析吗?

我通过一些静态代码分析得到程序的CFG就足够了。

【问题讨论】:

  • 看看here
  • 这可能是最好的方法,但它没有考虑内联方法,所以它并不完美......无论如何+1,因为我想不出更好的选择!
  • 而且是运行时分析,我在找静态分析。
  • @Tarion 你怎么能做到这一点?假设您使用依赖注入(现在大多数人都使用),您如何知道已为接口配置了哪个实现,因此要运行哪些方法调用?
  • 最后我有一个库,想知道该库上的函数在哪里被调用。如您所见,它与 Vs 集成的“调用层次结构”一起使用。当有人将我的方法调用放入委托时,我不需要支持所有特殊情况。

标签: c# callstack control-flow-graph


【解决方案1】:

Found FxCop 符合我获取调用堆栈的需要。

它随 VS Professional 和 Ultimate 以及 Windows SDK 的一部分一起提供。

我仍在寻找完整的控制流图实现,但这是另一个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多