PVS-Studio staatilise analüsaatori tundmaõppimine C++ programmide arendamisel selles keskkonnas Linux

PVS-Studio staatilise analüsaatori tundmaõppimine C++ programmide arendamisel selles keskkonnas LinuxPVS-Studio toetab C, C++, C# ja Java keeles kirjutatud projektide analüüsi. Analüsaatorit saab kasutada süsteemides Windows, Linux и macOSSee artikkel käsitleb C ja C++ keeles kirjutatud koodi analüüsi keskkonnas Linux.

Paigaldamine

Paigalda PVS-Studio alla Linux Selleks on mitu võimalust, olenevalt levitamise tüübist. Kõige mugavam ja eelistatum meetod on kasutada repositooriumi, kuna see võimaldab analüsaatori automaatset värskendamist uute versioonide ilmumisel. Teine võimalus on kasutada installipaketti, mille saab alla laadida. siin.

Installimiseks vajalikud käsud sõltuvad jaotusest. Linux, mida te kasutate. Näiteks süsteemide puhul, mis põhinevad Debian, repositooriumist installimine näeb välja selline:

wget -q -O - https://files.viva64.com/etc/pubkey.txt | sudo apt-key add -

sudo wget -O /etc/apt/sources.list.d/viva64.list 
https://files.viva64.com/etc/viva64.list

sudo apt update
sudo apt install pvs-studio

PVS-Studio installimiseks installipaketist saate kasutada gdebi utiliiti:

sudo gdebi pvs-studio-VERSION.deb

Installiprotsessi kirjeldatakse üksikasjalikumalt jaotises "PVS-Studio installimine ja värskendamine Linux» dokumentatsioon. Sealt leiate teavet ka süsteemide kohta, mis ei põhine Debian.

Pärast installimist peate sisestama litsentsiandmed. Selleks kasutatakse käsku

pvs-studio-analyzer credentials NAME KEY [-o LIC-FILE]

kus NIMI и KEY – nimi, mille all litsents on registreeritud, ja litsentsivõti. Valikuline parameeter või võimaldab määrata tee, kuhu litsentsifail genereeritakse. Vaikimisi salvestatakse see kataloogi ~/.config/PVS-Studio/.

Proovivõtme saate lehelt "Laadige alla ja proovige PVS-Studio"

Projekti kontrollimine

Pärast analüsaatori paigaldamist võite alustada projektide kontrollimist. Selleks on kaks peamist viisi.

  1. Koostamise jälgimine;
  2. Käivitage ehitusprotsessis otse ehitussüsteemist.

Vaatame kõigepealt esimest meetodit. Jälgimise alustamiseks Linux, vajate utiliiti kiirus. Analüsaator kasutab seda teabe kogumiseks selle kohta, millised protsessid projekti koostamise ajal töötasid.

Käivitamine toimub järgmise käsuga:

pvs-studio-analyzer trace -- make

See näide kasutab ehitamiseks käsku make, kuid make võib asendada mis tahes muu käsuga, mida kasutate ehitamise käivitamiseks. Käsurea parameetreid saab talle edastada tavapärasel viisil.

Pärast ülesehitamist loob strace faili, mida parser kasutab lähtekoodi kontrollimiseks. Analüüsi saab alustada käsuga

pvs-studio-analyzer analyze -o /path/to/project.log

Väljund on tulemustega kodeeritud fail, mille saate teisendada ühte toetatud vormingutest. Aruannetega töötamist arutame järgmises jaotises.

Lisaks strace kasutamisele saab analüüsi käivitada ka failipõhiselt compile_commands.json (JSON-i koostamise andmebaas). Paljud ehitussüsteemid võimaldavad teil eksportida kompilaatori kutsumiskäske või kasutada utiliiti KARU. Sel juhul saab analüüsi alustada käsuga

pvs-studio-analyzer analyze –f /path/to/compile_commands.json

Tuleb märkida, et analüsaator tunneb kasutatud kompilaatori ära selle käivitatava faili nime järgi. Kui näete kontrollimisel tõrketeadet "Kompleerimisühikuid ei leitud", proovige parameetri kaudu määrata oma kompilaatori nimi --kompilaator või –c:

pvs-studio-analyzer analyze -c MyCompiler

Seda võib vaja minna ristkompileerimisel ja mittestandardsete käivitatavate failinimedega kompilaatorite kasutamisel.

Lisaks monitorirežiimis töötamisele saate analüsaatori integreerida oma ehitussüsteemi või IDE-sse. Juba konfigureeritud integratsiooniga projektide näiteid leiate aadressilt GitHub PVS_Studio hoidlas:

Täpsemad juhised analüüsi läbiviimise kohta on saadaval allpool. Linux vaata sisse dokumentatsioon.

Aruannetega töötamine

Pärast disaini kontrollimist genereerib analüsaator kodeeritud raporti. Selle teisendamiseks ühte toetatud vormingutest peaksite kasutama utiliiti plog-muundur, mis paigaldatakse koos PVS-Stuudioga.

Utiliit toetab järgmisi vorminguid:

  • xml – mugav vorming analüüsitulemuste täiendavaks töötlemiseks, mida toetab SonarQube'i pistikprogramm;
  • csv on tabeliandmete esitamiseks loodud tekstivorming;
  • errorfile - gcc ja clang väljundvorming;
  • ülesandeloend - veavorming, mida saab avada QtCreatoris;
  • html – html aruanne analüüsitulemuste lühikirjeldusega;
  • fullhtml – html aruanne koos erinevate parameetrite ja lähtekoodi navigeerimisega sorteeritud analüüsitulemustega.

Aruande vaatamiseks on kõige mugavam täishtml-vorming, mis võimaldab hüpata lähtekoodi reale, kus hoiatus esines. Järgmine käsk võimaldab teil teisendada analüsaatori aruande sellesse vormingusse:

plog-converter -a GA:1,2 -t fullhtml /path/project.log -o /path/report_dir

Pärast käsu täitmist luuakse kataloog /tee/aruande_kataloog, mis sisaldab aruandefaile.

Pöörake tähelepanu võtmele -a. See võimaldab teil määrata, millised hoiatused tuleks aruandesse lisada. See on mugav, kui on vaja analüsaatori väljundit filtreerida. Ülaltoodud käsk genereerib aruande, mis sisaldab ainult hoiatusi esimese ja teise usaldustaseme üldisest analüüsirühmast (Kõrge и Keskmine).

Aruande näide:

PVS-Studio staatilise analüsaatori tundmaõppimine C++ programmide arendamisel selles keskkonnas Linux

Lahtris klõpsamisel Asukoht sõnumeid, saate hüpata vastavale koodireale:

PVS-Studio staatilise analüsaatori tundmaõppimine C++ programmide arendamisel selles keskkonnas Linux

Klõpsake veerus diagnostikanumbril kood avab seda diagnostikat kirjeldava dokumentatsiooni.

Analüsaatori summutamine

Koodi kontrollimisel staatilise analüsaatoriga on võimalikud valepositiivsed tulemused või lihtsalt soovimatud teated (müra). PVS-Studio pakub mehhanisme selliste hoiatuste summutamiseks. Häirete individuaalseks summutamiseks saate kasutada üht dokumentatsiooni jaotises "Valehoiatuse summutamine"

Samuti võib vana koodi analüüsimisel osutuda vajalikuks kõik sõnumid massiliselt maha suruda. Reeglina on see vajalik selleks, et kontrollida ainult olemasolevasse koodibaasi lisatud koodi. Selleks kasutage parameetrit keelustama kommunaalteenused pvs-stuudio-analüsaator.

Saate aruandes sõnumeid hulgi maha suruda järgmise käsuga:

pvs-studio-analyzer suppress /path/to/report.log

Teave allasurutud sõnumite kohta salvestatakse faili suppress_base.json, mis asub projekti kõrval. Sellised teated jäetakse järgnevate kontrollide käigus aruandest välja.

Seda mehhanismi kirjeldatakse üksikasjalikumalt dokumentatsioonis. siin.

Järeldus

See oli lühike sissejuhatus PVS-Studio analüsaatori kasutamisse LinuxLoodan, et see oli abiks ja vastas mõnele teie kõige sagedamini esitatud küsimusele. Lisateavet selle teema kohta leiate dokumentatsioonist. siin.

PVS-Studio staatilise analüsaatori tundmaõppimine C++ programmide arendamisel selles keskkonnas Linux

Kui soovite seda artiklit inglise keelt kõneleva publikuga jagada, kasutage tõlkelinki: Juri Minaev. Alustamine PVS-Studio staatilise analüsaatoriga C++ arendamiseks jaotises Linux.

Allikas: www.habr.com

Ostke DDoS-kaitsega saitide jaoks usaldusväärne hostimine, VPS VDS-serverid 🔥 Osta usaldusväärne veebimajutus DDoS-kaitsega, VPS VDS serverid | ProHoster