Dod i adnabod y dadansoddwr statig PVS-Studio wrth ddatblygu rhaglenni C++ yn yr amgylchedd Linux

Dod i adnabod y dadansoddwr statig PVS-Studio wrth ddatblygu rhaglenni C++ yn yr amgylchedd LinuxMae PVS-Studio yn cefnogi dadansoddi prosiectau a ysgrifennwyd yn C, C++, C#, a Java. Gellir defnyddio'r dadansoddwr ar systemau Windows, Linux и macOSBydd yr erthygl hon yn trafod dadansoddi cod a ysgrifennwyd yn C a C++ yn yr amgylchedd Linux.

Gosod

Gosodwch PVS-Studio o dan Linux Mae sawl ffordd o wneud hyn, yn dibynnu ar y math o ddosbarthiad. Y dull mwyaf cyfleus a dewisol yw defnyddio storfa, gan fod hyn yn caniatáu diweddariadau awtomatig i'r dadansoddwr pan fydd fersiynau newydd yn cael eu rhyddhau. Yr ail opsiwn yw defnyddio pecyn gosod, y gellir ei lawrlwytho. yma.

Mae'r gorchmynion sydd angen i chi eu rhedeg ar gyfer gosod yn dibynnu ar y dosbarthiad. Linux, yr ydych chi'n ei ddefnyddio. Er enghraifft, ar gyfer systemau sy'n seiliedig ar Debian, mae'r gosodiad o'r storfa fel hyn:

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

I osod PVS-Studio o'r pecyn gosod, gallwch ddefnyddio'r cyfleustodau gdebi:

sudo gdebi pvs-studio-VERSION.deb

Disgrifir y broses osod yn fwy manwl yn y "Gosod a diweddaru PVS-Studio yn Linux» dogfennaeth. Yno gallwch hefyd ddod o hyd i wybodaeth am systemau nad ydynt yn seiliedig ar Debian.

Ar ôl gosod, mae angen i chi fewnbynnu data trwydded. Ar gyfer hyn, defnyddir y gorchymyn

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

Lle ENW и ALLWEDDOL – yr enw y cofrestrwyd y drwydded oddi tano ac allwedd y drwydded. Paramedr dewisol -or yn caniatáu ichi osod y llwybr lle bydd y ffeil drwydded yn cael ei chynhyrchu. Yn ddiofyn, caiff ei storio yn y cyfeiriadur ~/.config/PVS-Studio/.

Gallwch gael allwedd prawf ar y dudalen "Dadlwythwch a rhowch gynnig ar PVS-Studio".

Dilysu prosiect

Ar ôl gosod y dadansoddwr, gallwch ddechrau gwirio prosiectau. Mae dwy brif ffordd o wneud hyn:

  1. Monitro casglu;
  2. Rhedeg yn y broses adeiladu yn uniongyrchol o'r system adeiladu.

Gadewch i ni edrych ar y dull cyntaf yn gyntaf. I ddechrau monitro o dan Linux, bydd angen cyfleustodau arnoch chi rhediad. Mae'r dadansoddwr yn ei ddefnyddio i gasglu gwybodaeth am ba brosesau oedd yn rhedeg yn ystod adeiladu'r prosiect.

Gwneir y lansiad trwy'r gorchymyn canlynol:

pvs-studio-analyzer trace -- make

Mae'r enghraifft hon yn defnyddio gwneuthuriad i adeiladu, ond gellir disodli make gan unrhyw orchymyn arall a ddefnyddiwch i ddechrau'r adeiladu. Gellir trosglwyddo paramedrau llinell orchymyn iddo yn y ffordd arferol.

Ar ôl ei adeiladu, bydd strace yn creu ffeil y bydd y parser yn ei defnyddio i wirio'r cod ffynhonnell. Gallwch chi ddechrau'r dadansoddiad gyda'r gorchymyn

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

Bydd yr allbwn yn ffeil wedi'i hamgodio gyda'r canlyniadau, y gallwch ei throsi i un o'r fformatau a gefnogir. Byddwn yn trafod sut i weithio gydag adroddiadau yn yr adran nesaf.

Yn ogystal â defnyddio strace, gellir rhedeg dadansoddiad hefyd yn seiliedig ar ffeil llunio_commands.json (Cronfa Ddata Casglu JSON). Mae llawer o systemau adeiladu yn caniatáu ichi allforio gorchmynion galw casglwr, neu gallwch ddefnyddio'r cyfleustodau BEAR. Yn yr achos hwn, gellir cychwyn y dadansoddiad gyda'r gorchymyn

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

Dylid nodi bod y dadansoddwr yn adnabod y casglwr a ddefnyddir wrth enw ei ffeil gweithredadwy. Os cewch y gwall "Ni chanfuwyd unedau casglu" wrth wirio, ceisiwch nodi enw eich casglwr trwy'r paramedr --casglu neu -c:

pvs-studio-analyzer analyze -c MyCompiler

Efallai y bydd angen hyn wrth groes-grynhoi a defnyddio casglwyr gydag enwau ffeiliau gweithredadwy ansafonol.

Yn ogystal â rhedeg yn y modd monitor, gallwch chi integreiddio'r dadansoddwr i'ch system adeiladu neu'ch IDE. Gallwch ddod o hyd i enghreifftiau o brosiectau ag integreiddiad wedi'i ffurfweddu eisoes yn GitHub yn y storfa PVS_Studio:

Mae cyfarwyddiadau mwy manwl ar sut i gynnal y dadansoddiad ar gael isod. Linux edrychwch i mewn dogfennaeth.

Gweithio gydag adroddiadau

Ar ôl gwirio'r dyluniad, mae'r dadansoddwr yn cynhyrchu adroddiad wedi'i godio. Er mwyn ei drosi i un o'r fformatau a gefnogir, dylech ddefnyddio'r cyfleustodau trawsnewidydd plog, sy'n cael ei osod ynghyd â PVS-Studio.

Mae'r cyfleustodau'n cefnogi'r fformatau canlynol:

  • xml - fformat cyfleus ar gyfer prosesu canlyniadau dadansoddi ychwanegol, a gefnogir gan yr ategyn ar gyfer SonarQube;
  • fformat testun yw csv a ddyluniwyd i gynrychioli data tabl;
  • errorfile - fformat allbwn gcc a chlang;
  • rhestr dasgau - fformat gwall y gellir ei agor yn QtCreator;
  • html – adroddiad html gyda disgrifiad byr o ganlyniadau'r dadansoddiad;
  • fullhtml - adroddiad html gyda chanlyniadau dadansoddi wedi'u didoli yn ôl gwahanol baramedrau a llywio cod ffynhonnell.

I weld yr adroddiad, y fformat fullhtml sydd fwyaf cyfleus, gan ei fod yn caniatáu ichi neidio i'r llinell cod ffynhonnell y digwyddodd y rhybudd ynddi. Mae'r gorchymyn canlynol yn caniatáu ichi drosi adroddiad y dadansoddwr i'r fformat hwn:

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

Ar ôl gweithredu'r gorchymyn, bydd cyfeiriadur yn cael ei greu /llwybr/adroddiad_dir, a fydd yn cynnwys y ffeiliau adroddiad.

Rhowch sylw i'r allwedd -a. Mae'n caniatáu ichi nodi pa rybuddion y dylid eu cynnwys yn yr adroddiad. Mae hyn yn gyfleus os oes angen hidlo allbwn y dadansoddwr. Bydd y gorchymyn uchod yn cynhyrchu adroddiad a fydd yn cynnwys rhybuddion yn unig gan y grŵp dadansoddi cyffredinol o'r lefelau hyder cyntaf a'r ail (uchel и Canolig).

Enghraifft o adroddiad:

Dod i adnabod y dadansoddwr statig PVS-Studio wrth ddatblygu rhaglenni C++ yn yr amgylchedd Linux

Ar cliciwch mewn cell Lleoliad negeseuon, gallwch neidio i'r llinell cod cyfatebol:

Dod i adnabod y dadansoddwr statig PVS-Studio wrth ddatblygu rhaglenni C++ yn yr amgylchedd Linux

Cliciwch ar y rhif diagnostig yn y golofn Côd yn agor y ddogfennaeth sy'n disgrifio'r diagnostig hwn.

Atal Analyzer

Wrth wirio'r cod gyda dadansoddwr statig, mae pethau positif ffug neu negeseuon diangen (sŵn) yn bosibl. Mae PVS-Studio yn darparu mecanweithiau ar gyfer atal rhybuddion o'r fath. Ar gyfer atal larymau unigol, gallwch ddefnyddio un o'r dulliau a ddisgrifir yn yr adran ddogfennaeth "Atal rhybudd ffug".

Hefyd, wrth ddadansoddi hen god, efallai y bydd angen atal pob neges yn aruthrol. Fel rheol, mae hyn yn angenrheidiol er mwyn gwirio'r cod sy'n cael ei ychwanegu at y sylfaen cod presennol yn unig. I wneud hyn, defnyddiwch y paramedr atal cyfleustodau pvs-stiwdio-dadansoddwr.

Gallwch chi atal negeseuon swmp mewn adroddiad gyda'r gorchymyn canlynol:

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

Mae gwybodaeth am negeseuon sydd wedi'u hatal yn cael ei storio mewn ffeil atal_base.json, sydd wrth ymyl y prosiect. Mae negeseuon o'r fath wedi'u heithrio o'r adroddiad mewn gwiriadau dilynol.

Disgrifir y mecanwaith hwn yn fanylach yn y ddogfennaeth. yma.

Casgliad

Cyflwyniad byr oedd hwn i ddefnyddio'r dadansoddwr PVS-Studio o dan LinuxGobeithio bod hyn wedi bod o gymorth ac wedi ateb rhai o'ch cwestiynau mwyaf cyffredin. Gallwch ddarllen mwy am y pwnc hwn yn y ddogfennaeth. yma.

Dod i adnabod y dadansoddwr statig PVS-Studio wrth ddatblygu rhaglenni C++ yn yr amgylchedd Linux

Os ydych chi am rannu'r erthygl hon â chynulleidfa Saesneg ei hiaith, defnyddiwch y ddolen gyfieithu: Yuri Minaev. Dechrau gyda'r Dadansoddwr Statig PVS-Studio ar gyfer Datblygu C++ o dan Linux.

Ffynhonnell: hab.com

Prynu gwesteio dibynadwy ar gyfer gwefannau sydd â diogelwch DDoS, gweinyddwyr VPS VDS 🔥 Prynu cynnal gwefannau dibynadwy gyda diogelwch DDoS, gweinyddion VPS VDS | ProHoster