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

发布于 2024-11-18 04:43:43 字数 486 浏览 7 评论 0原文

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

代码路径 1

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

代码路径 2

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

Is there a way to quickly search for the complete list of code paths to one particular function in my project, in order to find out whether some certain upper-lever function calls it, either directly or indirectly? For example, some possible output to determine whether MyLowLevelFunction is reachable from TargetFunction:

Code path 1

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

Code path 2

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

甜嗑 2024-11-25 04:43:43

Peganza 的 Pascal 分析器有一个反向调用树报告。我是一名客户,对此非常满意,尽管我从未使用过该特定类型的报告,更喜欢简单的 相反,交叉引用报告,它也有。

有趣的是,静态分析工具将无法找到间接调用,例如通过事件回调。

Pascal analyzer by Peganza has a Reverse call tree report. I am a customer and very happy with it, although I have never used that particular type of report, preferring a simple cross-ref report instead, which it also has.

As an interesting side-note static analysis tools will fail to find calls that are indirect, such as via an event callback.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文