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

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

Прочетох главата от ръководството на PC-Lint, озаглавена „Опции за блокиране на грешки“ и най-доброто, което можах да намеря, беше да настроя wLevel на -w0 Без съобщения (с изключение на фатални грешки)


person user1424106    schedule 04.02.2013    source източник
comment
Това по същество не е правилният начин за използване на мъх. Смисълът на използването му е да ви позволи да разкажете за проблеми, за които все още не сте се сетили. Ако се удавите в диагностиката, помислете дали да започнете с по-консервативен набор от предупреждения. Някак естествено е да завъртите диска на 11, което може да доведе до много изхвърляне. Започнете с малко и започнете от горната част на списъка.   -  person Hans Passant    schedule 04.02.2013


Отговори (2)


Да, възможно е, можете просто да използвате -e* или -w0. Ръководството обаче наистина гласи (Глава 16. Живот с мъх):

НЕ просто потискайте всички предупреждения с нещо като: -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