Как я могу создать обратное дерево вызовов для проекта Delphi? - PullRequest
5 голосов
/ 30 июня 2011

Есть ли способ быстрого поиска полного списка путей кода для одной конкретной функции в моем проекте, чтобы выяснить, вызывает ли ее какая-то определенная функция верхнего уровня, прямо или косвенно?Например, некоторые возможные выходные данные для определения, достижима ли MyLowLevelFunction из TargetFunction:

Путь к коду 1

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

Путь к коду 2

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

1 Ответ

6 голосов
/ 30 июня 2011

Анализатор Pascal от Peganza имеет отчет Обратное дерево вызовов .Я являюсь клиентом и очень доволен им, хотя я никогда не использовал этот конкретный тип отчетов, предпочитая вместо этого простой перекрестный отчет , который он также имеет.вспомогательные инструменты статического анализа не смогут найти вызовы, которые являются косвенными, например, с помощью обратного вызова события.

...