Неуспешная инструкция утверждения
Этот дефект возникает при использовании assert, и утверждаемое выражение является или может быть ложным.
Примечание
Polyspace ® не помеченassert(0) как дефект утверждения, поскольку эти инструкции обычно используются для отключения определенных разделов кода.
Как правило, используется assert инструкции для функционального тестирования в режиме отладки. Ошибка утверждения, обнаруженная с помощью статического анализа, указывает на то, что соответствующий функциональный тест не будет выполнен во время выполнения.
Исправление зависит от первопричины дефекта. Например, основной причиной может быть неограниченный ввод из внешнего источника, который в конечном итоге привел к неудаче утверждения.
Часто детали результата показывают последовательность событий, которые привели к дефекту. Исправление может быть реализовано для любого события в последовательности. Если сведения о результатах не отображают историю событий, можно выполнить обратную трассировку, щелкнув правой кнопкой мыши параметры в исходном коде и просмотреть предыдущие связанные события. См. также раздел Интерпретация результатов поиска ошибок в интерфейсе пользователя Polyspace Desktop.
См. примеры исправлений ниже.
Если вы не хотите устранять проблему, добавьте комментарии к результату или коду, чтобы избежать другой проверки. См. раздел Результаты анализа пространства адресов с помощью исправлений ошибок или обоснований.
| Группа: Программирование |
| Язык: C | C++ |
| По умолчанию: Вкл. |
Синтаксис командной строки: ASSERT |
| Воздействие: Высокое |