Эта тема фокусируется на Polyspace® настольный пользовательский интерфейс. Чтобы узнать об эквивалентной панели в Polyspace доступ к веб-интерфейсу, смотрите Иерархию Вызова в Polyspace доступ к веб-интерфейсу.
Панель Call Hierarchy отображает дерево вызова функций в исходном коде.
Для каждого функционального foo
, панель Call Hierarchy перечисляет функции и задачи тот вызов foo
(вызывающие стороны) и вызванные foo
(вызываемые). Вызывающие стороны обозначаются (функциями) или (задачами). Вызываемые обозначаются (функциями) или (задачами). Панель Call Hierarchy перечисляет прямые вызовы функции и косвенные вызовы через указатели функции. Косвенные вызовы показывают со значком. Вызовы, которые недостижимы, показывают с именем функции серого цвета.
Чтобы открыть эту панель, в пользовательском интерфейсе рабочего стола Polyspace, нажимают кнопку на панели Result Details.
Обновить панель:
Можно кликнуть по проверке на этапе выполнения, или на 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 не может найти функциональное определение. Например, вы не обеспечили файл, содержащий определение.
User specified: Вы заменяете функциональное определение при помощи опции Functions to stub (-functions-to-stub)
.
Lookup table: Вы проверяете сгенерированный код с функциями что возвращаемые значения от определенных видов интерполяционных таблиц. Вы используете опцию Generate stubs for Embedded Coder lookup tables (-stub-embedded-coder-lookup-table-functions)
.
Std library: функция является стандартной библиотечной функцией. Вы не предоставляете функциональное определение явным образом в вашем проекте Polyspace.
Mapped to std library: Вы сопоставляете функцию со стандартной библиотечной функцией при помощи опции -code-behavior-specifications
.
Для получения дополнительной информации смотрите Предположения О Заблокированных Функциях.
Чтобы видеть целую иерархию вызова вашей программы, на панели Source, нажимают main
функция. Щелкните правой кнопкой по узлу по иерархии вызова и выберите Expand All Nodes.
Вместо того, чтобы видеть целую иерархию вызова целиком, можно расширить узлы по мере необходимости, чтобы фокусироваться на определенном срезе иерархии вызова.