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