Leer die PVS-Studio statiese ontleder ken wanneer C++ programme in die omgewing ontwikkel word Linux

Leer die PVS-Studio statiese ontleder ken wanneer C++ programme in die omgewing ontwikkel word LinuxPVS-Studio ondersteun die analise van projekte wat in C, C++, C# en Java geskryf is. Die ontleder kan op stelsels gebruik word. Windows, Linux и macOSHierdie artikel sal die analise van kode wat in C en C++ geskryf is in die omgewing bespreek. Linux.

installasie

Installeer PVS-Studio onder Linux Daar is verskeie maniere om dit te doen, afhangende van die verspreidingstipe. Die gerieflikste en verkieslikste metode is om 'n bewaarplek te gebruik, aangesien dit outomatiese opdaterings van die ontleder moontlik maak wanneer nuwe weergawes vrygestel word. Die tweede opsie is om 'n installasiepakket te gebruik, wat afgelaai kan word. hier.

Die opdragte wat jy vir installasie moet uitvoer, hang af van die verspreiding. Linux, wat jy gebruik. Byvoorbeeld, vir stelsels gebaseer op Debian, installasie vanaf die bewaarplek lyk so:

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

Om PVS-Studio vanaf 'n installasiepakket te installeer, kan jy die gdebi-hulpprogram gebruik:

sudo gdebi pvs-studio-VERSION.deb

Die installasieproses word in meer besonderhede beskryf in die afdeling "Installeer en opdateer PVS-Studio in Linux» dokumentasie. Daar kan jy ook inligting vind oor stelsels wat nie gebaseer is op Debian.

Na die installasie moet u lisensie-inligting invoer. Om dit te doen, gebruik die opdrag

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

waar NAAM и SLEUTEL – die naam waarin die lisensie geregistreer is en die lisensiesleutel. Opsionele parameter -of laat jou toe om die pad te spesifiseer waar die lisensielêer gegenereer sal word. By verstek word dit in die gids gestoor ~/.config/PVS-Studio/.

Jy kan die proefsleutel op die bladsy kry "Laai af en probeer PVS-Studio«.

Projek verifikasie

Nadat u die ontleder geïnstalleer het, kan u projekte begin nagaan. Daar is twee hoof maniere om dit te doen:

  1. samestelling monitering;
  2. Hardloop tydens die bouproses direk vanaf die boustelsel.

Kom ons kyk eers na die eerste metode. Om monitering te begin onder Linux, jy sal 'n nutsdiens benodig strewe. Die ontleder gebruik dit om inligting in te samel oor watter prosesse tydens die projekbou van stapel gestuur is.

Die bekendstelling word uitgevoer met die volgende opdrag:

pvs-studio-analyzer trace -- make

Hierdie voorbeeld gebruik maak om te bou, maar die maak oproep kan vervang word deur enige ander opdrag wat jy gebruik om die bou te begin. Opdragreëlparameters kan op die gewone manier daaraan deurgegee word.

Sodra dit gebou is, sal strace 'n lêer skep wat die ontleder sal gebruik om die bronkode na te gaan. U kan die analise met die opdrag begin

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

Die uitset sal 'n geënkodeerde lêer met die resultate wees, wat jy kan omskakel na een van die ondersteunde formate. Ons sal in die volgende afdeling kyk na die werk met verslae.

Benewens die gebruik van strace, kan analise ook uitgevoer word op grond van 'n lêer compile_commands.json (JSON-samestellingsdatabasis). Baie boustelsels laat jou toe om samesteller-oproepopdragte uit te voer, of jy kan die hulpprogram gebruik BEER. In hierdie geval kan u die ontleding met die opdrag begin

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

Daar moet kennis geneem word dat die ontleder die samesteller herken wat gebruik word deur die naam van sy uitvoerbare lêer. As u die fout "Geen samestellingseenhede gevind nie" ontvang wanneer u nagaan, probeer om die naam van u samesteller deur die parameter te spesifiseer -samesteller of -c:

pvs-studio-analyzer analyze -c MyCompiler

Dit mag nodig wees wanneer samestellers met nie-standaard uitvoerbare lêername kruis-samestelling en gebruik word.

Benewens die moniteringmodus, kan u die ontleder in u boustelsel of IDE integreer. Voorbeelde van projekte met reeds gekonfigureerde integrasie kan gevind word by GitHub in die PVS_Studio-bewaarplek:

Meer gedetailleerde instruksies oor hoe om die analise uit te voer, is hieronder beskikbaar. Linux kyk in dokumentasie.

Werk met verslae

Nadat die ontwerp nagegaan is, genereer die ontleder 'n gekodeerde verslag. Om dit na een van die ondersteunde formate om te skakel, moet u die hulpprogram gebruik plog-omskakelaar, wat met PVS-Studio geïnstalleer is.

Die hulpprogram ondersteun die volgende formate:

  • xml – 'n gerieflike formaat vir bykomende verwerking van ontledingsresultate, ondersteun deur 'n inprop vir SonarQube;
  • csv – teksformaat bedoel vir die aanbieding van tabeldata;
  • foutlêer - gcc- en clang-uitvoerformaat;
  • taaklys – foutformaat wat in QtCreator oopgemaak kan word;
  • html – html-verslag met 'n kort beskrywing van die ontledingsresultate;
  • fullhtml – html-verslag met sortering van ontledingsresultate volgens verskillende parameters en navigasie deur die bronkode.

Die fullhtml-formaat is die gerieflikste om die verslag te bekyk, aangesien dit jou toelaat om na die reël bronkode te gaan waar die waarskuwing plaasgevind het. Die volgende opdrag laat jou toe om die ontlederverslag na hierdie formaat om te skakel:

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

Nadat die opdrag uitgevoer is, sal 'n gids geskep word /pad/verslag_dir, wat die verslaglêers sal bevat.

Gee aandag aan die sleutel -a. Dit laat jou toe om te spesifiseer watter waarskuwings in die verslag ingesluit moet word. Dit is gerieflik as daar 'n behoefte is om die ontleder-uitset te filter. Die bogenoemde opdrag sal 'n verslag skep wat slegs waarskuwings van die algemene ontledingsgroep van die eerste en tweede vertrouensvlakke sal bevat (Hoogte и Medium).

Voorbeeldverslag:

Leer die PVS-Studio statiese ontleder ken wanneer C++ programme in die omgewing ontwikkel word Linux

Deur in 'n sel te klik Ligging boodskappe, kan jy na die ooreenstemmende reël kode spring:

Leer die PVS-Studio statiese ontleder ken wanneer C++ programme in die omgewing ontwikkel word Linux

Klik op die diagnostiese nommer in die kolom kode sal dokumentasie oopmaak wat hierdie diagnose beskryf.

Onderdrukking van ontleder snellers

Wanneer kode met 'n statiese ontleder nagegaan word, is vals positiewe of bloot ongewenste boodskappe (geraas) moontlik. PVS-Studio verskaf meganismes om sulke waarskuwings te onderdruk. Om snellers individueel te onderdruk, kan jy een van die metodes gebruik wat in die dokumentasie-afdeling beskryf word "Onderdrukking van vals waarskuwings«.

Ook, wanneer ou kode ontleed word, kan dit nodig wees om alle boodskappe massief te onderdruk. Tipies is dit nodig om slegs die kode te kontroleer wat by die bestaande kodebasis gevoeg is. Om dit te doen, gebruik die parameter onderdruk nutsdienste pvs-ateljee-analiseerder.

U kan boodskappe in 'n verslag op groot skaal onderdruk met die volgende opdrag:

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

Inligting oor onderdrukte boodskappe word in 'n lêer gestoor onderdruk_base.json, wat langs die projek lê. Sulke boodskappe word uitgesluit van die verslag tydens daaropvolgende kontroles.

Hierdie meganisme word in meer besonderhede in die dokumentasie beskryf hier.

Gevolgtrekking

Dit was 'n kort inleiding tot die gebruik van die PVS-Studio-ontleder onder LinuxEk hoop dat dit nuttig was en sommige van jou mees algemene vrae beantwoord het. Jy kan meer oor hierdie onderwerp in die dokumentasie lees. hier.

Leer die PVS-Studio statiese ontleder ken wanneer C++ programme in die omgewing ontwikkel word Linux

As jy hierdie artikel met 'n Engelssprekende gehoor wil deel, gebruik asseblief die vertaalskakel: Yuri Minaev. Aan die gang kom met die PVS-Studio Statiese Analiseerder vir C++ Ontwikkeling onder Linux.

Bron: will.com

Koop betroubare hosting vir werwe met DDoS-beskerming, VPS VDS-bedieners 🔥 Koop betroubare webwerfhosting met DDoS-beskerming, VPS VDS-bedieners | ProHoster