如何为Delphi项目生成反向调用树?

时间:2011-06-30 01:08:35

标签: delphi metrics static-code-analysis

有没有办法快速搜索项目中某个特定函数的完整代码路径列表,以便找出某个某些上层函数是直接还是间接调用它?例如,一些可能的输出用于确定MyLowLevelFunction是否可以从TargetFunction访问:

代码路径1

ModuleA2.TopLevelFunction
|--ModuleA1.SomeFunction
|----Utility.MyLowLevelFunction

代码路径2

ModuleB2.TopLevelFunction
|--TargetModule.TargetFunction <-- This calls MyLowLevelFunction indirectly
|----ModuleB1.SomeFunction
|------Utility.MyLowLevelFunction

1 个答案:

答案 0 :(得分:6)

Peganza的Pascal分析器有Reverse call tree报告。虽然我从未使用过那种特殊类型的报告,但我更喜欢简单的cross-ref report,而且它也有。{/ p>

作为一个有趣的附注,静态分析工具将无法找到间接调用,例如通过事件回调。