Mae 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. .
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-studioI osod PVS-Studio o'r pecyn gosod, gallwch ddefnyddio'r cyfleustodau gdebi:
sudo gdebi pvs-studio-VERSION.debDisgrifir y broses osod yn fwy manwl yn y "» 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 "".
Dilysu prosiect
Ar ôl gosod y dadansoddwr, gallwch ddechrau gwirio prosiectau. Mae dwy brif ffordd o wneud hyn:
- Monitro casglu;
- 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 . 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 -- makeMae'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.logBydd 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 . Yn yr achos hwn, gellir cychwyn y dadansoddiad gyda'r gorchymyn
pvs-studio-analyzer analyze –f /path/to/compile_commands.jsonDylid 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 MyCompilerEfallai 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 yn y storfa PVS_Studio:
Mae cyfarwyddiadau mwy manwl ar sut i gynnal y dadansoddiad ar gael isod. Linux edrychwch i mewn .
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_dirAr ô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:

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

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 "".
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.logMae 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. .
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. .
Os ydych chi am rannu'r erthygl hon â chynulleidfa Saesneg ei hiaith, defnyddiwch y ddolen gyfieithu: Yuri Minaev. .
Ffynhonnell: hab.com
