
PVS-Studio mendukung analisis proyek yang dikembangkan dalam C, C ++, C #, dan Java. Anda dapat menggunakan penganalisis di Windows, Linux, dan macOS. Artikel kecil ini akan memberi tahu Anda dasar-dasar menganalisis kode C dan C ++ di lingkungan Linux.
Instalasi
Ada berbagai cara untuk menginstal PVS-Studio di Linux, tergantung pada jenis distro Anda. Metode yang paling nyaman dan disukai adalah dengan menggunakan repositori, karena memungkinkan pembaruan secara otomatis pada analisa setelah merilis versi baru. Pilihan lain adalah menggunakan paket instalasi, yang bisa Anda dapatkan di
sini .
Perintah instalasi berbeda tergantung pada distro Linux yang Anda gunakan. Sebagai contoh, ini adalah bagaimana instalasi dari repositori di bawah sistem berbasis Debian terlihat seperti:
wget -q -O - https:
Untuk menginstal PVS-Studio dari paket yang dapat diunduh, Anda dapat menggunakan utilitas
gdebi :
sudo gdebi pvs-studio-VERSION.deb
Proses instalasi dijelaskan secara lebih rinci di bagian dokumentasi "
Menginstal dan memperbarui PVS-Studio di Linux ". Anda juga dapat menemukan informasi tentang sistem non-Debian di sana.
Setelah PVS-Studio diinstal, Anda harus memasukkan data lisensi. Inilah perintah untuk itu:
pvs-studio-analyzer credentials NAME KEY [-o LIC-FILE]
NAME dan
KEY masing-masing adalah nama pengguna terdaftar, dan kunci lisensi. Parameter opsional
โo memungkinkan Anda menentukan lokasi, tempat file lisensi akan dihasilkan. Secara default, ini akan disimpan di direktori
~ / .config / PVS-Studio / .
Jika Anda memerlukan kunci percobaan, Anda bisa mendapatkannya di halaman "
Unduh dan evaluasi PVS-Studio ".
Memeriksa proyek Anda
Setelah Anda menginstal penganalisis, Anda dapat mulai memeriksa proyek. Ada dua cara utama untuk melakukan ini:
- Pemantauan kompilasi.
- Menjalankan dari membangun sistem secara langsung.
Mari kita bicara tentang cara pertama. Untuk meluncurkan pemantauan di Linux, Anda memerlukan utilitas
strace . PVS-Studio menggunakannya untuk mengumpulkan daftar dan parameter proses, yang diluncurkan pada saat pembangunan.
Gunakan perintah di bawah ini untuk memulai pembuatan:
pvs-studio-analyzer trace -- make
Di sini,
make digunakan, tetapi perintah lain yang Anda jalankan untuk membangun proyek Anda dapat menggantikannya. Jika perlu, Anda bisa mengirimkan parameter baris perintah ke sana dengan cara biasa.
Setelah membangun,
strace akan membuat file, yang kemudian akan digunakan penganalisa untuk memeriksa kode sumber. Untuk memulai analisis, gunakan perintah di bawah ini.
pvs-studio-analyzer analyze -o /path/to/project.log
Akibatnya, file log yang disandikan akan dihasilkan, yang dapat Anda konversi ke salah satu format yang didukung. Kami akan berbicara tentang bekerja dengan laporan nanti.
Selain
strace , Anda dapat mendasarkan analisis pada file
compile_commands.json (JSON Compilation Database). Banyak sistem build memiliki cara bawaan untuk mengekspor perintah kompilasi, atau Anda dapat menggunakan utilitas
BEAR untuk melakukan ini. Inilah perintah untuk meluncurkan analisis dalam kasus ini:
pvs-studio-analyzer analyze โf /path/to/compile_commands.json
Perhatikan bahwa penganalisis mengenali kompiler, yang digunakan dalam proses pembangunan, dengan nama yang dapat dieksekusi. Jika Anda mendapatkan kesalahan "Tidak ada unit kompilasi yang ditemukan" ketika mencoba menganalisis proyek Anda, coba tentukan secara spesifik nama kompiler Anda melalui kunci baris perintah
โcompiler atau
โc :
pvs-studio-analyzer analyze -c MyCompiler
Anda mungkin memerlukan ini jika Anda menggunakan kompilasi silang, atau jika kompiler Anda memiliki nama yang dapat dieksekusi yang tidak standar.
Selain mode pemantauan, Anda dapat mengintegrasikan penganalisis langsung ke sistem build atau IDE Anda.
Gudang resmi
GitHub kami memberikan contoh proyek di mana integrasi telah dikonfigurasikan:
Untuk mempelajari lebih lanjut tentang cara menjalankan analisa di Linux, lihat
dokumentasi .
Bekerja dengan laporan
Setelah memeriksa proyek, penganalisa membuat laporan yang disandikan. Untuk mengonversinya ke salah satu format yang didukung, Anda perlu menggunakan utilitas
plog-converter , yang datang dengan instalasi PVS-Studio.
Berikut daftar format yang didukung:
- xml-format yang nyaman untuk pemrosesan lebih lanjut dari hasil analisis, yang didukung didukung oleh plugin untuk SonarQube ;
- csv - file menyimpan data tabular (angka dan teks) dalam teks biasa;
- errorfile adalah format output dari gcc dan dentang;
- daftar tugas - format kesalahan yang dapat dibuka di QtCreator;
- html - laporan html dengan deskripsi singkat tentang hasil analisis;
- fullhtml - laporkan dengan penyortiran hasil analisis sesuai dengan berbagai parameter dan navigasi di sepanjang kode sumber.
Format fullhtml adalah yang paling nyaman untuk melihat laporan, karena memungkinkan melompat ke baris kode, sesuai dengan peringatan yang Anda minati. Perintah berikut memungkinkan Anda untuk mengonversi laporan ke format ini:
plog-converter -a GA:1,2 -t fullhtml /path/project.log -o /path/report_dir
Saat Anda meluncurkannya, direktori yang baru dibuat bernama
/ path / report_dir akan berisi semua file laporan.
Perhatikan parameter
-a . Ini memungkinkan Anda untuk menentukan, peringatan mana yang akan muncul dalam laporan yang dihasilkan. Lebih mudah jika Anda perlu memfilter keluaran penganalisa. Perintah di atas akan membuat laporan, yang hanya akan berisi pesan analisis umum tingkat kepastian pertama dan kedua (
Tinggi dan
Sedang ).
Contoh laporan:
Dengan mengklik di dalam sel
Lokasi pesan, Anda dapat melompat ke baris kode yang sesuai:
Dengan mengklik kode diagnostik di kolom
Kode , Anda dapat membuka dokumentasi tentang diagnostik ini.
Menekan peringatan penganalisa
Saat menggunakan penganalisa statis untuk memeriksa kode sumber, Anda mungkin mendapatkan hasil positif palsu, atau peringatan kebisingan yang tidak diinginkan. PVS-Studio memiliki sarana untuk menekan pesan tersebut. Untuk menargetkan peringatan individual, Anda dapat menggunakan salah satu metode yang dijelaskan dalam artikel dokumentasi "
Penindasan alarm palsu ".
Juga, ketika memeriksa kode lama Anda mungkin ingin menekan semua peringatan. Sebagai aturan, Anda mungkin memerlukan ini jika Anda hanya ingin memeriksa kode baru yang Anda tambahkan ke basis kode yang ada. Untuk melakukan ini, gunakan parameter
penekan utilitas
pvs-studio-analyzer .
Anda dapat menekan secara massal peringatan dalam laporan dengan menggunakan perintah ini:
pvs-studio-analyzer suppress /path/to/report.log
Informasi tentang peringatan yang ditekan disimpan dalam file bernama
suppress_base.json , yang terletak di sebelah proyek. Pesan semacam itu dikecualikan dari laporan pada pemeriksaan selanjutnya.
Mekanisme ini dijelaskan secara rinci di
sini .
Kesimpulan
Ini adalah pengantar singkat tentang penggunaan PVS-Studio di Linux. Semoga bermanfaat dan berhasil menjawab pertanyaan yang paling sering. Jika Anda memerlukan informasi lebih lanjut tentang topik artikel ini, lihat dokumentasi di
sini .