Исключить все сообщения в PC-Lint

Я использую PC-Lint для своего проекта C++. Есть ли способ отключить все сообщения об ошибках и предупреждения по умолчанию, чтобы затем я мог явно повторно ввести требуемые сообщения?

Я прочитал главу руководства PC-Lint, озаглавленную «Параметры подавления ошибок», и лучшее, что я смог найти, это установить для wLevel значение -w0 Нет сообщений (кроме фатальных ошибок)


person user1424106    schedule 04.02.2013    source источник
comment
Это в корне неправильный способ использования lint. Смысл его использования в том, чтобы позволить вам рассказать о проблемах, о которых вы еще не думали. Если вы тонете в диагностике, подумайте о том, чтобы начать с более консервативного набора предупреждений. Вполне естественно повернуть циферблат на 11, что может вызвать много рвоты. Начните с малого и начните с вершины списка.   -  person Hans Passant    schedule 04.02.2013


Ответы (2)


Да, это возможно, вы можете просто использовать -e* или -w0. Однако в руководстве действительно говорится (Глава 16. Жизнь с Lint):

ЗАПРЕЩАЕТСЯ просто подавлять все предупреждения чем-то вроде: -e* или -w0, так как это может скрыть серьезные ошибки и сделать последующую диагностику очень сложной.

Так что да, вы можете использовать его, если ваш код в основном очищен, и вы хотите просмотреть последние изменения для определенного набора сообщений. Но если вы хотите начать чистить свой код и завалены сообщениями из-за уровня предупреждения по умолчанию -w3, я предлагаю начать использовать -w1 и решить все проблемы там; большинство предупреждений/ошибок, выдаваемых на первом уровне, указывают на проблемы с поиском всех заголовочных файлов, правильной установкой всех неявных макросов и/или достаточно точным копированием компилятора, который вы обычно используете.

Как всегда, я не решаюсь рекламировать свою собственную работу, но если хотите, взгляните на мой "Как использовать PC Lint" в формате PDF, где я задокументировал подробные инструкции по первоначальному развертыванию PC Lint и работе со многими предупреждениями/ошибками/информацией/примечаниями, под которыми вы можете быть похоронены.

person Johan Bezem    schedule 07.02.2013

Когда я начал внедрять PC-Lint в новый проект, я сделал следующее:

  1. По предложению Йохана Безема, все это было проверено на уровне -w1. На самом деле это не находит никаких новых проблем, но проверяет синтаксическую правильность вашей программы и находит любые проблемы с конфигурацией. Ничего особенного, если ваш проект уже компилируется.

  2. Запустите тест еще раз с уровнем -w2. Было обнаружено 53 000 проблем, что было слишком много для решения за один раз.

  3. Выберите типичный плохой файл, а затем подавите любые ошибки, которые кажутся неуместными или несрочными (например, error 525: (Warning -- Negative indentation from line xxx) добавление -e525 в командную строку или файл конфигурации, пока не найдете тот, который кажется серьезным. В моем случае это был error 442: (Warning -- for clause irregularity: testing direction inconsistent with increment direction), т.е. Цикл, который выглядел так, будто должен считать вверх, на самом деле считал вниз.

  4. Сбросьте тестовый уровень обратно на -w1, но добавьте к критической проблеме номер, в данном случае -w1 +e442. Повторно запустите его для всего проекта, а затем исправьте все экземпляры этой проблемы.

  5. Вернитесь к этапу 2 и повторите попытку.

Эта комбинация устранения реальных проблем и подавления вероятных ложных срабатываний позволяет быстро контролировать ваши цифры.

Чтобы со временем все становилось лучше, мы также реализуем сценарий, который выполняет тщательную (полную -w2 или -w3) проверку любых файлов, которые создаются или изменяются.

Я также нашел инструмент LintProject очень полезно, так как он может сделать все решение Visual Studio за один раз, с таблицами с количеством ошибок и худших нарушителей!

person Andy Krouwel    schedule 24.02.2015