На панели Call Hierarchy отображается дерево вызовов функций в исходном коде.
Для каждой функциональной foo
На панели Call Hierarchy перечислены функции и задачи, которые вызывают foo
(вызывающие) и вызываемые foo
(callees). Вызывающие абоненты обозначаются (функции) или (задачи). На телят указывает (функции) или (задачи). На панели Call Hierarchy перечислены прямые вызовы функций и косвенные вызовы через указатели функций. Косвенные вызовы отображаются вместе со значком.
Примечание
В Polyspace® Bug Finder™, вы можете не видеть всех вызывающих или callees функции, особенно для вызовов через указатели на функцию и мертвый код.
Для образца Polyspace Bug Finder не отображает функции, зарегистрированные в at_exit()
и at_quick_exit()
, и вызывается exit()
и quick_exit()
соответственно.
Вы открываете панель Call Hierarchy, используя значок в подробных данных результата. Чтобы обновить панель.
Можно кликнуть дефект на панели Results List или Source. Вы видите функцию, содержащую дефект с его вызывающими и вызывающими абонентами.
Можно щелкнуть правой кнопкой мыши имя функции и выбрать Go To Definition. Вы видите вызывающих абонентов и абонентов функции.
В этом примере на панели Call Hierarchy отображается функция generic_validation
и с его звонящими и телятами.
Номер линии на панели Call Hierarchy ссылается на другую линию в исходном коде:
Для имени функции номер линии ссылается на начало определения функции. Определение generic_validation
начинается на линии 69.
Для имени callee, номер относится к линии, где callee вызывается. Телячья functional_ranges
вызывается generic_validation
на линии 86.
Для имени вызывающего абонента номер относится к линии, в которой вызывающий абонент вызывает функцию. Вызывающий абонент main
вызывает generic_validation
на линии 50.
Совет
Чтобы перейти к местоположению вызова в исходном коде, выберите вызывающее или вызывающее имя
На панели Call Hierarchy можно выполнить следующие действия: