Эта тема фокусируется на Polyspace® настольный пользовательский интерфейс. Чтобы узнать об эквивалентной панели в Polyspace доступ к веб-интерфейсу, смотрите Иерархию Вызова в Polyspace доступ к веб-интерфейсу.
Панель Call Hierarchy отображает дерево вызова функций в исходном коде.
Для каждого функционального foo
, панель Call Hierarchy перечисляет функции и задачи тот вызов foo
(вызывающие стороны) и вызванные foo
(вызываемые). Вызывающие стороны обозначаются (функциями) или (задачами). Вызываемые обозначаются (функциями) или (задачами). Панель Call Hierarchy перечисляет прямые вызовы функции и косвенные вызовы через указатели функции. Косвенные вызовы показывают со значком.
Примечание
В Polyspace Bug Finder™ вы не можете видеть все вызывающие стороны или вызываемых функции, особенно для вызовов через указатели функции и мертвый код.
Например, 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.
Для имени вызываемого номер относится к линии, где вызываемый называется. Вызываемый functional_ranges
вызван generic_validation
на линии 86.
Для имени вызывающей стороны номер относится к линии, где вызывающая сторона вызывает функцию. Вызывающая сторона main
вызовы generic_validation
на линии 50.
Совет
Чтобы перейти к местоположению вызова в исходном коде, выберите имя вызывающей стороны или вызываемого
В панели Call Hierarchy можно выполнить эти действия.
Настройте представление, чтобы отобразить вызывающие стороны только или вызываемых только. Покажите или скройте вызывающие стороны и вызываемых путем нажатия этой кнопки
Можно переместиться по иерархии вызова в исходном коде. Для функции дважды кликните имя вызывающей стороны или вызываемого, чтобы перейти к определению вызывающей стороны или вызываемого в исходном коде.
Из столбца Stubbed можно определить, заблокирована ли функция. Записи в столбце показывают, почему функция была заблокирована.
Automatic: Polyspace не может найти функциональное определение. Например, вы не обеспечили файл, содержащий определение.
Std library: функция является стандартной библиотечной функцией. Вы не предоставляете функциональное определение явным образом в вашем проекте Polyspace.
Mapped to std library: Вы сопоставляете функцию со стандартной библиотечной функцией при помощи опции -code-behavior-specifications
.