Рассмотрите и зафиксируйте функцию не достижимые проверки

Выполните один или несколько из этих шагов, пока вы не определите фиксацию для проверки Function not reachable. Существует несколько способов зафиксировать эту проверку. Для описания проверки и примеров кода, смотрите Function not reachable.

Если вы решаете, что проверка представляет защитный код, добавьте комментарий и выравнивание в вашем результате или коде, объясняющем, почему вы не изменили свой код. Смотрите Результаты Polyspace Адреса Через Исправления ошибок или Выравнивания.

Примечание

Эта проверка не включена по умолчанию. Чтобы включить эту проверку, необходимо задать соответствующую опцию анализа. Для получения дополнительной информации смотрите Detect uncalled functions (-uncalled-function-checks).

Шаг 1: интерпретируйте информацию о проверке

Выберите проверку на панели Results List. На панели Source вы видите функциональное определение серого цвета.

Шаг 2: определите первопричину проверки

Определите, где функция вызвана и анализ, почему все сайты вызова функции недостижимы. Можно выполнить следующие шаги в пользовательском интерфейсе Polyspace® только.

  1. Выберите проверку на панели Results List.

  2. На панели Result Details нажмите кнопку.

    На панели Call Hierarchy вы видите вызывающие стороны функции, обозначенной.

  3. На панели Call Hierarchy выберите каждую вызывающую сторону.

    Это действие берет вас к вызову функции на панели Source.

  4. Смотрите, называется ли вызывающая сторона самостоятельно из недостижимого кода. Если определение вызывающей стороны находится полностью в сером на панели Source, это называется из недостижимого кода. Следуйте за тем же процессом расследования, начинающим с шага 1, для вызывающей стороны.

  5. В противном случае займитесь расследованиями, почему раздел кода, из которого вы вызываете функцию, недостижим.

    Код может быть недостижимым, потому что он следует за красной проверкой или потому что он содержит серую проверку Unreachable code.

    • Если красная проверка происходит, зафиксируйте свой код, чтобы удалить проверку.

    • Если серая проверка Unreachable code происходит, рассмотрите проверку и определите, необходимо ли зафиксировать код. Смотрите Анализ и Зафиксируйте Недостижимые Проверки Кода.

Примечание

Если вы не видите имя вызывающей стороны на панели Call Hierarchy, определяете, вызываете ли вы функцию косвенно, например, через указатель функции. Определите, находится ли несоответствие между объявлением указателя функции и вызовом функции через указатель.

Polyspace помещает, красный или оранжевый Correctness condition проверяют косвенный вызов, если несоответствие происходит. Чтобы обнаружить несоответствие в косвенных вызовах функции, ищите Correctness condition, проверяют панель Results List. Для получения дополнительной информации смотрите Correctness condition.