Ịmata PVS-Studio static analyzer mgbe ị na-emepụta mmemme C++ na gburugburu ebe obibi Linux

Ịmata PVS-Studio static analyzer mgbe ị na-emepụta mmemme C++ na gburugburu ebe obibi LinuxPVS-Studio na-akwado nyocha nke ọrụ ndị e dere na C, C++, C#, na Java. Enwere ike iji nyocha ahụ na sistemụ. Windows, Linux и macOSIsiokwu a ga-atụle nyocha nke koodu e dere na C na C++ na gburugburu ebe obibi Linux.

ọnọdụ

Wụnye PVS-Studio n'okpuru Linux E nwere ọtụtụ ụzọ isi mee nke a, dabere na ụdị nkesa. Ụzọ kachasị mma ma dị mma bụ iji ebe nchekwa, ebe nke a na-enye ohere maka mmelite akpaka nke onye nyocha mgbe ewepụtara ụdị ọhụrụ. Nhọrọ nke abụọ bụ iji ngwugwu nrụnye, nke enwere ike ibudata. ebe a.

Iwu ndị ị chọrọ iji rụọ ọrụ maka ntinye dabere na nkesa. Linux, nke ị na-eji. Dịka ọmụmaatụ, maka sistemụ dabere na Debian, ntinye site na ebe nchekwa ahụ dị ka nke a:

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

Iji tinye PVS-Studio site na ngwugwu nrụnye, ị nwere ike iji gdebi utility:

sudo gdebi pvs-studio-VERSION.deb

A kọwara usoro nrụnye n'ụzọ zuru ezu na "Ịwụnye ma melite PVS-Studio na Linux» akwụkwọ. N'ebe ahụ, ị ​​nwekwara ike ịchọta ozi gbasara sistemụ ndị na-adabereghị na Debian.

Mgbe echichi gasịrị, ịkwesịrị itinye data ikike. Maka nke a, a na-eji iwu ahụ

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

Ebee AHA и AMAOKWU – aha nke edebanye aha ikike na igodo ikike. Oke nhọrọ -ma ọ bụ na-enye gị ohere ịtọ ụzọ ebe faịlụ ikike ga-ewepụta. Site na ndabara, echekwara ya na ndekọ ~/.config/PVS-Studio/.

Ị nwere ike nweta igodo nnwale na ibe "Budata wee nwaa PVS-Studio".

Nyochaa oru ngo

Mgbe ị wụnye analyzer, ị nwere ike ịmalite ịlele ọrụ. Enwere ụzọ abụọ isi mee nke a:

  1. nlekota nchịkọta;
  2. Na-agba ọsọ na-ewu usoro ozugbo site na-ewu usoro.

Ka anyị buru ụzọ leba anya n'ụzọ mbụ. Iji malite nlekota n'okpuru Linux, ị ga-achọ ihe enyemaka eriri. Onye nyocha na-eji ya na-anakọta ozi gbasara usoro ndị na-eme n'oge arụ ọrụ a.

A na-eme mmalite site n'iwu a:

pvs-studio-analyzer trace -- make

Ihe atụ a na-eji make iji wuo, mana ime nwere ike dochie ya site na iwu ọ bụla ọzọ ị na-eji malite ihe owuwu ahụ. Enwere ike ịnyefe parampat ahịrị iwu na ya n'ụzọ ọ na-adị.

Ozugbo arụchara ya, strace ga-emepụta faịlụ nke parser ga-eji lelee koodu isi mmalite. Ị nwere ike ịmalite nyocha site na iwu

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

Ihe mmepụta ga-abụ faịlụ agbakwunyere na nsonaazụ ya, nke ị nwere ike ịtụgharị gaa na otu n'ime ụdị akwadoro. Anyị ga-atụle otu esi arụ ọrụ na akụkọ na ngalaba na-esote.

Na mgbakwunye na iji strace, a pụkwara ịme nyocha dabere na faịlụ nchịkọta_iwu.json (JSON Compilation Database). Ọtụtụ sistemụ na-ewu ụlọ na-enye gị ohere mbupụ iwu ịkpọku ndị na-achịkọta ihe, ma ọ bụ ịnwere ike iji ngwa ahụ Buru. N'okwu a, enwere ike ịmalite nyocha ahụ na iwu ahụ

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

Ekwesiri iburu n'uche na onye nyocha na-amata mkpokọta ejiri aha nke faịlụ executable. Ọ bụrụ n'inweta mperi "Ọnweghị mkpokọta mkpokọta ahụrụ" mgbe ị na-elele, nwaa ịkọwa aha onye nchịkọta gị site na oke. --nchịkọta ma ọ bụ -c:

pvs-studio-analyzer analyze -c MyCompiler

Nke a nwere ike ịdị mkpa mgbe ị na-agbakọta na iji ndị nchịkọta nwere aha faịlụ na-abụghị ọkọlọtọ.

Na mgbakwunye na ịgba ọsọ na ọnọdụ nleba anya, ị nwere ike itinye onye nyocha n'ime sistemụ nrụpụta gị ma ọ bụ IDE. Ị nwere ike ịhụ ihe atụ nke oru ngo nwere ahaziri mbanye na GitHub na ebe nchekwa PVS_Studio:

Ntuziaka zuru ezu gbasara otu esi eme nyocha ahụ dị n'okpuru. Linux lebanye anya akwụkwọ.

Na-arụ ọrụ na akụkọ

Mgbe ịlele nhazi ahụ, onye nyocha ahụ na-ewepụta akụkọ koodu. Iji tọghata ya na otu n'ime ndị na-akwado formats, ị kwesịrị ị na-eji ike plog-ngbanwe, nke arụnyere na PVS-Studio.

Ngwa ahụ na-akwado usoro ndị a:

  • xml - usoro dị mma maka nhazi ọzọ nke nsonaazụ nyocha, nke ngwa mgbakwunye maka SonarQube kwadoro;
  • csv bụ usoro ederede emebere iji nọchite anya data tabular;
  • njehie - gcc na usoro mmepụta clang;
  • tasklist - njehie usoro nwere ike meghere na QtCreator;
  • html - akụkọ html nwere nkọwa dị nkenke nke nsonaazụ nyocha;
  • fullhtml – html na-akọ akụkọ nwere nsonaazụ nyocha ahaziziri site na paramita dị iche iche yana igodo koodu isi mmalite.

Ka ilele akụkọ ahụ, usoro fullhtml kacha adabara, ebe ọ na-enye gị ohere ịwụba n'ahịrị koodu isi mmalite nke ịdọ aka ná ntị mere. Iwu a na-enye gị ohere ịtụgharị akụkọ nyocha ka ọ bụrụ usoro a:

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

Mgbe ịmechara iwu ahụ, a ga-emepụta ndekọ /ụzọ/report_dir, nke ga-ebu faịlụ akụkọ.

Lezienụ anya na igodo -a. Ọ na-enye gị ohere ịkọwapụta ịdọ aka ná ntị kwesịrị ịgụnye na akụkọ ahụ. Nke a dị mma ma ọ bụrụ na ọ dị mkpa ka nzacha mmepụta nke analyzer. Iwu a dị n'elu ga-ewepụta akụkọ ga-enwe naanị ịdọ aka ná ntị sitere na otu nyocha izugbe nke ọkwa ntụkwasị obi nke mbụ na nke abụọ (High и ọkara).

Kọọ ihe atụ:

Ịmata PVS-Studio static analyzer mgbe ị na-emepụta mmemme C++ na gburugburu ebe obibi Linux

Pịa na cell Ọnọdụ ozi, ị nwere ike ima elu na ahịrị koodu kwekọrọ:

Ịmata PVS-Studio static analyzer mgbe ị na-emepụta mmemme C++ na gburugburu ebe obibi Linux

Pịa na nọmba nchoputa dị na kọlụm Usoro ga-emepe akwụkwọ na-akọwa nchọpụta a.

Mbelata nyocha

Mgbe ị na-eji ihe nyocha static na-elele koodu ahụ, ọ ga-ekwe omume omume ụgha ma ọ bụ ozi achọghị (mkpọtụ). PVS-Studio na-enye usoro maka ịkwụsị ịdọ aka ná ntị dị otú ahụ. Maka mkpochapụ nke mkpu n'otu n'otu, ị nwere ike itinye otu n'ime usoro akọwara na ngalaba akwụkwọ "Mbelata ịdọ aka ná ntị ụgha".

Ọzọkwa, mgbe ị na-enyocha koodu ochie, ọ nwere ike ịdị mkpa ikpochapụ ozi niile nke ukwuu. Dịka iwu, nke a dị mkpa iji lelee naanị koodu agbakwunyere na codebase dị ugbu a. Iji mee nke a, jiri paramita igbochi utilities pvs-studio-analyzer.

Ị nwere ike ikpochapụ ozi n'ime akụkọ nwere iwu a:

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

A na-echekwa ozi gbasara ozi akpọchiri n'ime faịlụ suppress_base.json, nke dị n'akụkụ ọrụ ahụ. Ewepụrụ ozi ndị dị otú ahụ na akụkọ ahụ na nlele ndị na-esote.

A kọwara usoro a n'ụzọ zuru ezu na akwụkwọ. ebe a.

nkwubi

Nke a bụ obere okwu mmalite maka iji PVS-Studio analyzer n'okpuru LinuxEnwere m olileanya na nke a baara gị uru ma zaa ụfọdụ ajụjụ ndị ị na-ajụkarị. Ị nwere ike ịgụkwu gbasara isiokwu a na akwụkwọ ahụ. ebe a.

Ịmata PVS-Studio static analyzer mgbe ị na-emepụta mmemme C++ na gburugburu ebe obibi Linux

Ọ bụrụ na ịchọrọ ịkọrọ ndị na-ege ntị na-asụ Bekee akụkọ a, biko jiri njikọ ntụgharị asụsụ: Yuri Minaev. Ịmalite site na iji PVS-Studio Static Analyzer maka mmepe C++ n'okpuru Linux.

isi: www.habr.com

Zụta nnabata ntụkwasị obi maka saịtị nwere nchekwa DDoS, sava VPS VDS 🔥 Zụta ebe nrụọrụ weebụ a pụrụ ịtụkwasị obi na nchekwa DDoS, sava VPS VDS | ProHoster