Ngerteni penganalisis statis PVS-Studio nalika ngembangake program C++ ing lingkungan kasebut Linux

Ngerteni penganalisis statis PVS-Studio nalika ngembangake program C++ ing lingkungan kasebut LinuxPVS-Studio ndhukung analisis proyèk sing ditulis nganggo C, C++, C#, lan Java. Penganalisis iki bisa digunakaké ing sistem. Windows, Linux и macOSArtikel iki bakal ngrembug analisis kode sing ditulis nganggo C lan C++ ing lingkungan kasebut. Linux.

Instalasi

Instal PVS-Studio ing sangisore Linux Ana sawetara cara kanggo nindakake iki, gumantung saka jinis distribusi. Cara sing paling trep lan disenengi yaiku nggunakake repositori, amarga iki ngidini nganyari otomatis penganalisis nalika versi anyar dirilis. Pilihan kapindho yaiku nggunakake paket instalasi, sing bisa diunduh. kene.

Perintah sing kudu sampeyan jalanake kanggo instalasi gumantung saka distribusi kasebut. Linux, sing sampeyan gunakake. Contone, kanggo sistem adhedhasar Debian, instalasi saka repositori katon kaya iki:

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

Kanggo nginstal PVS-Studio saka paket instalasi, sampeyan bisa nggunakake sarana gdebi:

sudo gdebi pvs-studio-VERSION.deb

Proses instalasi diterangake kanthi luwih rinci ing "Nginstal lan nganyari PVS-Studio ing Linux» dokumentasi. Ing kana sampeyan uga bisa nemokake informasi babagan sistem sing ora adhedhasar Debian.

Sawise instalasi, sampeyan kudu ngetik data lisensi. Kanggo iki, perintah kasebut digunakake

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

Ngendi NAME и KEY – jeneng ing ngendi lisensi didaftar lan kunci lisensi. Parameter opsional -utawa ngidini sampeyan nyetel path ing ngendi file lisensi bakal diasilake. Kanthi gawan disimpen ing direktori ~/.config/PVS-Studio/.

Sampeyan bisa entuk kunci uji coba ing kaca "Ngundhuh lan nyoba PVS-Studio".

Verifikasi proyek

Sawise nginstal analyzer, sampeyan bisa miwiti mriksa proyek. Ana rong cara utama kanggo nindakake iki:

  1. ngawasi kompilasi;
  2. Mbukak ing proses mbangun langsung saka sistem mbangun.

Ayo dideleng cara sing pertama dhisik. Kanggo miwiti ngawasi ing ngisor iki Linux, sampeyan butuh sarana strace. Analisa nggunakake aplikasi kasebut kanggo ngumpulake informasi babagan proses apa sing ditindakake sajrone mbangun proyek kasebut.

Peluncuran ditindakake kanthi printah ing ngisor iki:

pvs-studio-analyzer trace -- make

Conto iki nggunakake make kanggo mbangun, nanging nggawe bisa diganti karo printah liyane sing digunakake kanggo miwiti mbangun. Parameter baris perintah bisa dilewati kanthi cara sing biasa.

Sawise dibangun, strace bakal nggawe file sing bakal digunakake parser kanggo mriksa kode sumber. Sampeyan bisa miwiti analisis kanthi printah

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

Output bakal dadi file sing dienkode kanthi asil, sing bisa diowahi dadi salah sawijining format sing didhukung. Kita bakal ngrembug babagan cara nggarap laporan ing bagean sabanjure.

Saliyane nggunakake strace, analisis uga bisa ditindakake adhedhasar file compile_commands.json (JSON Compilation Database). Akeh sistem mbangun ngidini sampeyan ngekspor perintah invocation compiler, utawa sampeyan bisa nggunakake sarana kasebut KAYU. Ing kasus iki, analisis bisa diwiwiti kanthi printah

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

Perlu dicathet yen analisa ngenali kompiler sing digunakake kanthi jeneng file sing bisa dieksekusi. Yen sampeyan entuk kesalahan "Ora ana unit kompilasi sing ditemokake" nalika mriksa, coba nemtokake jeneng kompiler liwat parameter kasebut. --kompiler utawa –c:

pvs-studio-analyzer analyze -c MyCompiler

Iki bisa uga dibutuhake nalika kompilasi silang lan nggunakake kompiler kanthi jeneng file eksekusi sing ora standar.

Saliyane mlaku ing mode monitor, sampeyan bisa nggabungake analisa menyang sistem mbangun utawa IDE. Sampeyan bisa nemokake conto proyek kanthi integrasi sing wis dikonfigurasi ing GitHub ing repositori PVS_Studio:

Pandhuan sing luwih rinci babagan cara nglakokake analisis kasedhiya ing ngisor iki. Linux ndeleng ing dokumentasi.

Nggarap laporan

Sawise mriksa desain, analisa ngasilake laporan kode. Kanggo ngowahi dadi salah sawijining format sing didhukung, sampeyan kudu nggunakake sarana kasebut plug-converter, sing diinstal bebarengan karo PVS-Studio.

Utilitas ndhukung format ing ngisor iki:

  • xml - format trep kanggo pangolahan tambahan asil analisis, didhukung dening plugin kanggo SonarQube;
  • csv minangka format teks sing dirancang kanggo makili data tabular;
  • errorfile - format output gcc lan clang;
  • tasklist - format kesalahan sing bisa dibukak ing QtCreator;
  • html - laporan html kanthi katrangan singkat babagan asil analisis;
  • fullhtml - laporan html kanthi asil analisis sing diurutake miturut paramèter lan pandhu arah kode sumber.

Kanggo ndeleng laporan, format fullhtml paling trep, amarga ngidini sampeyan mlumpat menyang baris kode sumber sing ana bebaya. Printah ing ngisor iki ngidini sampeyan ngowahi laporan analisa menyang format iki:

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

Sawise nglakokake perintah kasebut, direktori bakal digawe /path/report_dir, sing bakal ngemot file laporan.

Pay manungsa waé kanggo tombol -a. Iki ngidini sampeyan nemtokake bebaya sing kudu dilebokake ing laporan kasebut. Iki trep yen ana perlu kanggo nyaring output saka analyzer. Printah ing ndhuwur bakal ngasilake laporan sing mung ngemot bebaya saka klompok analisis umum tingkat kapercayan pisanan lan kaloro (High и Sedheng).

Tuladha laporan:

Ngerteni penganalisis statis PVS-Studio nalika ngembangake program C++ ing lingkungan kasebut Linux

Ing klik ing sel Lokasi pesen, sampeyan bisa mlumpat menyang baris kode sing cocog:

Ngerteni penganalisis statis PVS-Studio nalika ngembangake program C++ ing lingkungan kasebut Linux

Klik ing nomer diagnostik ing kolom kode bakal mbukak dokumentasi njlèntrèhaké diagnostik iki.

Analyzer Suppression

Nalika mriksa kode nganggo analisa statis, bisa uga ana positip palsu utawa pesen sing ora dikarepake (gangguan). PVS-Studio nyedhiyakake mekanisme kanggo nyegah bebaya kasebut. Kanggo nyuda weker individu, sampeyan bisa nggunakake salah sawijining metode sing diterangake ing bagean dokumentasi "Ditindhes bebaya palsu".

Uga, nalika nganalisa kode lawas, bisa uga kudu nyuda kabeh pesen kanthi massal. Minangka aturan, iki perlu kanggo mriksa mung kode sing ditambahake menyang basis kode sing wis ana. Kanggo nindakake iki, gunakake parameter kasebut nyuda keperluan pvs-studio-analyzer.

Sampeyan bisa nyuda pesen kanthi akeh ing laporan kanthi printah ing ngisor iki:

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

Informasi babagan pesen sing ditindhes disimpen ing file suppress_base.json, sing dumunung ing jejere proyek kasebut. Pesen kuwi ora kalebu saka laporan ing mriksa sakteruse.

Mekanisme iki diterangake kanthi luwih rinci ing dokumentasi. kene.

kesimpulan

Iki minangka pambuka singkat babagan nggunakake penganalisis PVS-Studio ing LinuxMuga-muga iki migunani lan njawab sawetara pitakonan sing paling kerep ditakoni. Sampeyan bisa maca luwih lengkap babagan topik iki ing dokumentasi. kene.

Ngerteni penganalisis statis PVS-Studio nalika ngembangake program C++ ing lingkungan kasebut Linux

Yen sampeyan pengin nuduhake artikel iki karo pamirsa sing nganggo basa Inggris, gunakake tautan terjemahan: Yuri Minaev. Miwiti nganggo PVS-Studio Static Analyzer kanggo Pengembangan C++ ing Linux.

Source: www.habr.com

Tuku hosting sing dipercaya kanggo situs kanthi proteksi DDoS, server VPS VDS 🔥 Tuku hosting situs web sing bisa dipercaya nganggo proteksi DDoS, server VPS VDS | ProHoster