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