ื‘ืึทืงืขื ืขืŸ ื–ื™ืš ืžื™ื˜ืŸ PVS-Studio ืกื˜ืึทื˜ื™ืฉืŸ ืึทื ืึทืœื™ื–ื™ืจืขืจ ื‘ื™ื™ื ืึทื ื˜ื•ื•ื™ืงืœืขืŸ C++ ืคึผืจืึธื’ืจืึทืžืขืŸ ืื™ืŸ ื“ืขืจ ืกื‘ื™ื‘ื” Linux

ื‘ืึทืงืขื ืขืŸ ื–ื™ืš ืžื™ื˜ืŸ PVS-Studio ืกื˜ืึทื˜ื™ืฉืŸ ืึทื ืึทืœื™ื–ื™ืจืขืจ ื‘ื™ื™ื ืึทื ื˜ื•ื•ื™ืงืœืขืŸ C++ ืคึผืจืึธื’ืจืึทืžืขืŸ ืื™ืŸ ื“ืขืจ ืกื‘ื™ื‘ื” LinuxPVS-Studio ืฉื˜ื™ืฆื˜ ืื ืืœื™ื– ืคื•ืŸ ืคืจืื™ืขืงื˜ืŸ ื’ืขืฉืจื™ื‘ืŸ ืื™ืŸ C, C++, C#, ืื•ืŸ Java. ื“ืขืจ ืื ืืœื™ื–ื™ืจืขืจ ืงืขืŸ ื’ืขื ื•ืฆื˜ ื•ื•ืขืจืŸ ืื•ื™ืฃ ืกื™ืกื˜ืขืžืขืŸ Windows, Linux ะธ macOSื“ื™ื–ืขืจ ืึทืจื˜ื™ืงืœ ื•ื•ืขื˜ ื“ื™ืกืงื•ื˜ื™ืจืŸ ื“ื™ ืึทื ืึทืœื™ื– ืคื•ืŸ ืงืึธื“ ื’ืขืฉืจื™ื‘ืŸ ืื™ืŸ C ืื•ืŸ C++ ืื™ืŸ ื“ืขืจ ืกื‘ื™ื‘ื” Linux.

ื™ื ืกื˜ืึทืœื™ืจื•ื ื’

ืื™ื ืกื˜ืึทืœื™ืจืŸ PVS-Studio ืื•ื ื˜ืขืจ Linux ืขืก ื–ืขื ืขืŸ ื“ื ืขื˜ืœืขื›ืข ื•ื•ืขื’ืŸ ื“ืึธืก ืฆื• ื˜ืึธืŸ, ืœื•ื™ื˜ืŸ ื˜ื™ืคึผ ืคื•ืŸ ืคืึทืจืฉืคึผืจื™ื™ื˜ื•ื ื’. ื“ื™ ื‘ืึทืงื•ื•ืขืžืกื˜ืข ืื•ืŸ ื‘ื™ืœื›ืขืจืกื˜ืข ืžืขื˜ืึธื“ืข ืื™ื– ืฆื• ื ื•ืฆืŸ ืึท ืจืขืคึผืึธื–ื™ื˜ืึธืจื™, ื•ื•ืฒึทืœ ื“ืึธืก ื“ืขืจืžืขื’ืœืขื›ื˜ ืื•ื™ื˜ืึธืžืึทื˜ื™ืฉืข ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื•ื ื’ืขืŸ ืคื•ืŸ ื“ืขื ืึทื ืึทืœื™ื–ื™ืจืขืจ ื•ื•ืขืŸ ื ืฒึทืข ื•ื•ืขืจืกื™ืขืก ื•ื•ืขืจืŸ ืึทืจื•ื™ืกื’ืขื’ืขื‘ืŸ. ื“ื™ ืฆื•ื•ื™ื™ื˜ืข ืึธืคึผืฆื™ืข ืื™ื– ืฆื• ื ื•ืฆืŸ ืึทืŸ ืื™ื ืกื˜ืึทืœืึทืฆื™ืข ืคึผืขืงืœ, ื•ื•ืึธืก ืงืขืŸ ื“ืึทื•ื ืœืึธื•ื“ื™ื“ ื•ื•ืขืจืŸ. ื“ืึธ.

ื“ื™ ืงืึธืžืึทื ื“ืขืก ื•ื•ืึธืก ืื™ืจ ื“ืึทืจืคึฟื˜ ืœื•ื™ืคึฟืŸ ืคึฟืึทืจ ื™ื ืกื˜ืึทืœื™ืจื•ื ื’ ื”ืขื ื’ืขืŸ ืึธืคึผ ืคึฟื•ืŸ ื“ืขืจ ื“ื™ืกื˜ืจื™ื‘ื™ื•ืฆื™ืข. Linux, ื•ื•ืึธืก ืื™ืจ ื ื™ืฆื˜. ืœืžืฉืœ, ืคึฟืึทืจ ืกื™ืกื˜ืขืžืขืŸ ื‘ืึทื–ื™ืจื˜ ืื•ื™ืฃ Debian, ืื™ื ืกื˜ืึทืœืึทืฆื™ืข ืคึฟื•ืŸ ื“ื™ ืจืขืคึผืึธื–ื™ื˜ืึธืจื™ ื–ืขื˜ ืื•ื™ืก ืึทื–ื•ื™:

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

ืฆื• ื™ื ืกื˜ืึทืœื™ืจืŸ PVS-Studio ืคึฟื•ืŸ ื“ื™ ื™ื ืกื˜ืึทืœื™ืจื•ื ื’ ืคึผืขืงืœ, ืื™ืจ ืงืขื ืขืŸ ื ื•ืฆืŸ ื“ื™ gdebi ื ื•ืฆืŸ:

sudo gdebi pvs-studio-VERSION.deb

ื“ื™ ื™ื™ึทื ืžืึธื ื˜ื™ืจื•ื ื’ ืคึผืจืึธืฆืขืก ืื™ื– ื“ื™ืกืงืจื™ื™ื‘ื“ ืื™ืŸ ืžืขืจ ื“ืขื˜ืึทืœ ืื™ืŸ ื“ื™ "ืื™ื ืกื˜ืึทืœื™ืจืŸ ืื•ืŸ ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงืŸ PVS-Studio ืื™ืŸ Linuxยป ื“ืืงื•ืžืขื ื˜ืืฆื™ืข. ื“ืืจื˜ ืงืขื ื˜ ืื™ืจ ืื•ื™ืš ื’ืขืคึฟื™ื ืขืŸ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ื•ื•ืขื’ืŸ ืกื™ืกื˜ืขืžืขืŸ ื•ื•ืึธืก ื–ืขื ืขืŸ ื ื™ืฉื˜ ื‘ืึทื–ื™ืจื˜ ืื•ื™ืฃ Debian.

ื ืึธืš ื™ื™ึทื ืžืึธื ื˜ื™ืจื•ื ื’, ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืึทืจื™ื™ึทืŸ ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ ื“ืึทื˜ืŸ. ืคึฟืึทืจ ื“ืขื, ื“ื™ ื‘ืึทืคึฟืขืœ ืื™ื– ื’ืขื ื™ืฆื˜

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

ื•ื•ื• ื ืึธืžืขืŸ ะธ ืฉืœื™ืกืœ - ื“ืขืจ ื ืึธืžืขืŸ ืื•ื ื˜ืขืจ ื•ื•ืึธืก ื“ื™ ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ ืื™ื– ืจืขื’ื™ืกื˜ืจื™ืจื˜ ืื•ืŸ ื“ืขืจ ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ ืฉืœื™ืกืœ. ืึธืคึผื˜ื™ืึธื ืึทืœ ืคึผืึทืจืึทืžืขื˜ืขืจ ืึธื“ืขืจ ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืฉื˜ืขืœืŸ ื“ื™ ื“ืจืš ื•ื•ื• ื“ื™ ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ ื˜ืขืงืข ื•ื•ืขื˜ ื–ื™ื™ืŸ ื“ื–ืฉืขื ืขืจื™ื™ื˜ืึทื“. ื“ื•ืจืš ืคืขืœื™ืงื™ื™ึทื˜ ืขืก ืื™ื– ืกื˜ืึธืจื“ ืื™ืŸ ื“ื™ ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ ~/.config/PVS-Studio/.

ืื™ืจ ืงืขื ืขืŸ ื‘ืึทืงื•ืžืขืŸ ืึท ืคึผืจืึธืฆืขืก ืฉืœื™ืกืœ ืื•ื™ืฃ ื“ื™ ื‘ืœืึทื˜ "ืืจืืคืงืืคื™ืข ืื•ืŸ ืคึผืจื•ื‘ื™ืจืŸ PVS-Studio".

ืคึผืจืึธื™ืขืงื˜ ื•ื•ืขืจืึทืคืึทืงื™ื™ืฉืึทืŸ

ื ืึธืš ื™ื ืกื˜ืึธืœื™ื ื’ ื“ื™ ืึทื ืึทืœื™ื–ืขืจ, ืื™ืจ ืงืขื ืขืŸ ืึธื ื”ื™ื™ื‘ืŸ ืงืึธื ื˜ืจืึธืœื™ืจืŸ ืคึผืจืึทื“ื–ืฉืขืงืก. ืขืก ื–ืขื ืขืŸ ืฆื•ื•ื™ื™ ื”ื•ื™ืคึผื˜ ื•ื•ืขื’ืŸ ืฆื• ื˜ืึธืŸ ื“ืึธืก:

  1. ืžืึธื ื™ื˜ืึธืจื™ื ื’ ืคื•ืŸ ื–ืึทืžืœื•ื ื’;
  2. ืœื•ื™ืคืŸ ืื™ืŸ ื“ื™ ื‘ื•ื™ืขืŸ ืคึผืจืึธืฆืขืก ื’ืœื™ื™ึทืš ืคึฟื•ืŸ ื“ื™ ื‘ื•ื™ืขืŸ ืกื™ืกื˜ืขื.

ืœืึธืžื™ืจ ืงื•ืงืŸ ืื•ื™ืฃ ื“ืขืจ ืขืจืฉื˜ืขืจ ืžืขื˜ืึธื“ืข ืขืจืฉื˜. ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ืžืึธื ื™ื˜ืึธืจื™ื ื’ ืื•ื ื˜ืขืจ Linux, ืื™ืจ ื•ื•ืขื˜ ื“ืึทืจืคึฟืŸ ืึท ื ื•ืฆื‘ืึทืจ ืฉื˜ืจืขื ื’. ื“ืขืจ ืึทื ืึทืœื™ื–ืขืจ ื ื™ืฆื˜ ืขืก ืฆื• ื–ืึทืžืœืขืŸ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ื•ื•ืขื’ืŸ ื•ื•ืึธืก ืคึผืจืึทืกืขืกืึทื– ื–ืขื ืขืŸ ืคืœื™ืกื ื“ื™ืง ื‘ืขืฉืึทืก ื“ื™ ื‘ื•ื™ืขืŸ ืคื•ืŸ ื“ื™ ืคึผืจื•ื™ืขืงื˜.

ื“ืขืจ ืงืึทื˜ืขืจ ืื™ื– ื’ืขืคื™ืจื˜ ืื•ื™ืก ืžื™ื˜ ื“ื™ ืคืืœื’ืขื ื“ืข ื‘ืึทืคึฟืขืœ:

pvs-studio-analyzer trace -- make

ื“ืขืจ ื‘ื™ื™ืฉืคึผื™ืœ ื ื™ืฆื˜ ืžืึทื›ืŸ ืฆื• ื‘ื•ื™ืขืŸ, ืึธื‘ืขืจ ืžืึทื›ืŸ ืงืขื ืขืŸ ื–ื™ื™ืŸ ืจื™ืคึผืœื™ื™ืกื˜ ื“ื•ืจืš ืงื™ื™ืŸ ืื ื“ืขืจืข ื‘ืึทืคึฟืขืœ ืื™ืจ ื ื•ืฆืŸ ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ื“ืขื ื‘ื•ื™ืขืŸ. ื‘ืึทืคึฟืขืœืŸ ืฉื•ืจื” ืคึผืึทืจืึทืžืขื˜ืขืจืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื“ื•ืจื›ื’ืขื’ืื ื’ืขืŸ ืฆื• ืขืก ืื™ืŸ ื“ื™ ื’ืขื•ื•ื™ื™ื ื˜ืœืขืš ื•ื•ืขื’.

ืึทืžืึธืœ ื’ืขื‘ื•ื™ื˜, ืกื˜ืจืึทืกืข ื•ื•ืขื˜ ืžืึทื›ืŸ ืึท ื˜ืขืงืข ื•ื•ืึธืก ื“ืขืจ ืคึผืึทืจืกืขืจ ื•ื•ืขื˜ ื ื•ืฆืŸ ืฆื• ืงืึธื ื˜ืจืึธืœื™ืจืŸ ื“ื™ ืžืงื•ืจ ืงืึธื“. ืื™ืจ ืงืขื ืขืŸ ืึธื ื”ื™ื™ื‘ืŸ ื“ื™ ืึทื ืึทืœื™ืกื™ืก ืžื™ื˜ ื“ื™ ื‘ืึทืคึฟืขืœ

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

ื“ืขืจ ืจืขื–ื•ืœื˜ืึทื˜ ื•ื•ืขื˜ ื–ื™ื™ืŸ ืึท ืขื ืงืึธื•ื“ื™ื“ ื˜ืขืงืข ืžื™ื˜ ื“ื™ ืจืขื–ื•ืœื˜ืึทื˜ืŸ, ื•ื•ืึธืก ืื™ืจ ืงืขื ืขืŸ ื‘ื™ื™ึทื˜ืŸ ืฆื• ืื™ื™ื ืขืจ ืคื•ืŸ ื“ื™ ืฉื˜ื™ืฆื˜ ืคึฟืึธืจืžืึทื˜ื™ืจื•ื ื’ืขืŸ. ืžื™ืจ ื•ื•ืขืœืŸ ื“ื™ืกืงื•ื˜ื™ืจืŸ ื•ื•ื™ ืฆื• ืึทืจื‘ืขื˜ืŸ ืžื™ื˜ ืจื™ืคึผืึธืจืฅ ืื™ืŸ ื“ืขืจ ื•ื•ื™ื™ึทื˜ืขืจ ืึธืคึผื˜ื™ื™ืœื•ื ื’.

ืื™ืŸ ืึทื“ื™ืฉืึทืŸ ืฆื• ื ื•ืฆืŸ ืกื˜ืจืึทืกืข, ืึทื ืึทืœื™ืกื™ืก ืงืขื ืขืŸ ืื•ื™ืš ื–ื™ื™ืŸ ืœื•ื™ืคืŸ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ืึท ื˜ืขืงืข compile_commands.json (JSON ื–ืึทืžืœื•ื ื’ ื“ืึทื˜ืึทื‘ืึทืกืข). ืคื™ืœืข ื‘ื•ื™ืขืŸ ืกื™ืกื˜ืขืžืขืŸ ืœืึธื–ืŸ ืื™ืจ ืฆื• ืึทืจื•ื™ืกืคื™ืจืŸ ืงืึทืžืคึผื™ื™ืœืขืจ ื™ื ื•ื•ืึธืงืึทื˜ื™ืึธืŸ ืงืึทืžืึทื ื“ื–, ืึธื“ืขืจ ืื™ืจ ืงืขื ืขืŸ ื ื•ืฆืŸ ื“ื™ ื ื•ืฆืŸ BEAR. ืื™ืŸ ื“ืขื ืคืึทืœ, ื“ื™ ืึทื ืึทืœื™ืกื™ืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ืกื˜ืึทืจื˜ืขื“ ืžื™ื˜ ื“ื™ ื‘ืึทืคึฟืขืœ

pvs-studio-analyzer analyze โ€“f /path/to/compile_commands.json

ืขืก ื–ืึธืœ ื–ื™ื™ืŸ ืื ื’ืขื•ื•ื™ื–ืŸ ืึทื– ื“ื™ ืึทื ืึทืœื™ื–ืขืจ ืื ืขืจืงืขื ื˜ ื“ื™ ื’ืขื•ื•ื™ื™ื ื˜ ืงืึทืžืคึผื™ื™ืœืขืจ ืžื™ื˜ ื“ื™ ื ืึธืžืขืŸ ืคื•ืŸ ื–ื™ื™ืŸ ืขืงืกืขืงื•ื˜ืึทื‘ืœืข ื˜ืขืงืข. ืื•ื™ื‘ ืื™ืจ ื‘ืึทืงื•ืžืขืŸ ื“ื™ ื˜ืขื•ืช "ืงื™ื™ืŸ ื–ืึทืžืœื•ื ื’ ื•ื ื™ืฅ ื’ืขืคึฟื•ื ืขืŸ" ื•ื•ืขืŸ ื˜ืฉืขืง, ืคึผืจื•ึผื•ื•ื˜ ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ื“ื™ ื ืึธืžืขืŸ ืคื•ืŸ ื“ื™ื™ืŸ ืงืึทืžืคึผื™ื™ืœืขืจ ื“ื•ืจืš ื“ืขื ืคึผืึทืจืึทืžืขื˜ืขืจ --ืงืึธืžืคึผื™ืœืขืจ ืึธื“ืขืจ โ€“c:

pvs-studio-analyzer analyze -c MyCompiler

ื“ืึธืก ืงืขืŸ ื–ื™ื™ืŸ ื ื•ื™ื˜ื™ืง ื•ื•ืขืŸ ืงืจื™ื™ื–-ืงืึธืžืคึผื™ื™ืœื™ื ื’ ืื•ืŸ ื ื™ืฆืŸ ืงืึธืžืคึผื™ืœืขืจืก ืžื™ื˜ ื ื™ื˜-ื ืึธืจืžืึทืœ ืขืงืกืขืงื•ื˜ืึทื‘ืœืข ื˜ืขืงืข ื ืขืžืขืŸ.

ืื™ืŸ ืึทื“ื™ืฉืึทืŸ ืฆื• ืœื•ื™ืคืŸ ืื™ืŸ ืžืึธื ื™ื˜ืึธืจ ืžืึธื“ืข, ืื™ืจ ืงืขื ืขืŸ ื•ื™ืกืฉื˜ื™ืžืขืŸ ื“ื™ ืึทื ืึทืœื™ื–ืขืจ ืื™ืŸ ื“ื™ื™ืŸ ื‘ื•ื™ืขืŸ ืกื™ืกื˜ืขื ืึธื“ืขืจ IDE. ืื™ืจ ืงืขื ืขืŸ ื’ืขืคึฟื™ื ืขืŸ ื‘ื™ื™ืฉืคื™ืœืŸ ืคื•ืŸ ืคึผืจืึทื“ื–ืฉืขืงืก ืžื™ื˜ ืฉื•ื™ืŸ ืงืึทื ืคื™ื’ื™ืขืจื“ ื™ื ื˜ืึทื’ืจื™ื™ืฉืึทืŸ ืื™ืŸ ื’ื™ื˜ื”ื•ื‘ ืื™ืŸ ื“ื™ PVS_Studio ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™:

ืžืขืจ ื“ืขื˜ืึทืœื™ืจื˜ืข ืื™ื ืกื˜ืจื•ืงืฆื™ืขืก ื•ื•ืขื’ืŸ ื•ื•ื™ ืึทื–ื•ื™ ืฆื• ื“ื•ืจื›ืคื™ืจืŸ ื“ื™ ืึทื ืึทืœื™ื– ื–ืขื ืขืŸ ื‘ื ื™ืžืฆื ืื•ื ื˜ืŸ. Linux ืงื•ืง ืืจื™ื™ืŸ ื“ืึทืงื™ื•ืžืขื ื˜ื™ื™ืฉืึทืŸ.

ืืจื‘ืขื˜ืŸ ืžื™ื˜ ืจื™ืคึผืึธืจืฅ

ื ืึธืš ืงืึธื ื˜ืจืึธืœื™ืจื•ื ื’ ื“ื™ ืคึผืœืึทืŸ, ื“ื™ ืึทื ืึทืœื™ื–ืขืจ ื“ื–ืฉืขื ืขืจื™ื™ืฅ ืึท ืงืึธื“ืขื“ ื‘ืึทืจื™ื›ื˜. ืื™ืŸ ืกื“ืจ ืฆื• ื‘ื™ื™ึทื˜ืŸ ืขืก ืฆื• ืื™ื™ื ืขืจ ืคื•ืŸ ื“ื™ ืฉื˜ื™ืฆื˜ ืคึฟืึธืจืžืึทื˜ื™ืจื•ื ื’ืขืŸ, ืื™ืจ ื–ืึธืœ ื ื•ืฆืŸ ื“ื™ ื ื•ืฆืŸ ืคึผืœืึธื’-ืงืึทื ื•ื•ืขืจื˜ืขืจ, ื•ื•ืึธืก ืื™ื– ืื™ื ืกื˜ืึทืœื™ืจืŸ ืฆื•ื–ืึทืžืขืŸ ืžื™ื˜ PVS-Studio.

ื“ื™ ื ื•ืฆืŸ ืฉื˜ื™ืฆื˜ ื“ื™ ืคืืœื’ืขื ื“ืข ืคึฟืึธืจืžืึทื˜ื™ืจื•ื ื’ืขืŸ:

  • xml - ืึท ื‘ืึทืงื•ื•ืขื ืคึฟืึธืจืžืึทื˜ ืคึฟืึทืจ ื ืึธืš ืคึผืจืึทืกืขืกื™ื ื’ ืคื•ืŸ ืึทื ืึทืœื™ืกื™ืก ืจืขื–ื•ืœื˜ืึทื˜ืŸ, ื’ืขืฉื˜ื™ืฆื˜ ื“ื•ืจืš ื“ื™ ืคึผืœื•ื’ื™ืŸ ืคึฟืึทืจ SonarQube;
  • csv ืื™ื– ืึท ื˜ืขืงืกื˜ ืคึฟืึธืจืžืึทื˜ ื“ื™ื–ื™ื™ื ื“ ืฆื• ืคืึธืจืฉื˜ืขืœืŸ ื˜ืึทื‘ื•ืœืึทืจ ื“ืึทื˜ืŸ;
  • errorfile - ื’ืงืง ืื•ืŸ ืงืœืึทื ื’ ืจืขื–ื•ืœื˜ืึทื˜ ืคึฟืึธืจืžืึทื˜;
  • ื˜ืึทืกืงืœื™ืกื˜ - ื˜ืขื•ืช ืคึฟืึธืจืžืึทื˜ ื•ื•ืึธืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขืขืคื ื˜ ืื™ืŸ QtCreator;
  • HTML - HTML ื‘ืึทืจื™ื›ื˜ ืžื™ื˜ ืึท ืงื•ืจืฅ ื‘ืึทืฉืจื™ื™ึทื‘ื•ื ื’ ืคื•ืŸ ื“ื™ ืึทื ืึทืœื™ืกื™ืก ืจืขื–ื•ืœื˜ืึทื˜ืŸ;
  • fullhtml - HTML ื‘ืึทืจื™ื›ื˜ ืžื™ื˜ ืึทื ืึทืœื™ืกื™ืก ืจืขื–ื•ืœื˜ืึทื˜ืŸ ืื•ื™ืกื’ืขืฉื˜ืขืœื˜ ื“ื•ืจืš ืคืึทืจืฉื™ื“ืขื ืข ืคึผืึทืจืึทืžืขื˜ืขืจืก ืื•ืŸ ืžืงื•ืจ ืงืึธื“ ื ืึทื•ื•ื™ื’ืึทืฆื™ืข.

ืฆื• ื–ืขืŸ ื“ืขื ื‘ืึทืจื™ื›ื˜, ื“ื™ Fullhtml ืคึฟืึธืจืžืึทื˜ ืื™ื– ืžืขืจืกื˜ ื‘ืึทืงื•ื•ืขื, ื•ื•ื™ื™ึทืœ ืขืก ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืฉืคึผืจื™ื ื’ืขืŸ ืฆื• ื“ื™ ืžืงื•ืจ ืงืึธื“ ืฉื•ืจื” ืื™ืŸ ื•ื•ืึธืก ื“ื™ ื•ื•ืืจืขื ื•ื ื’ ืื™ื– ืคืืจื’ืขืงื•ืžืขืŸ. ื“ื™ ืคืืœื’ืขื ื“ืข ื‘ืึทืคึฟืขืœ ืึทืœืึทื•ื– ืื™ืจ ืฆื• ื‘ื™ื™ึทื˜ืŸ ื“ื™ ืึทื ืึทืœื™ื–ืขืจ ื‘ืึทืจื™ื›ื˜ ืฆื• ื“ืขื ืคึฟืึธืจืžืึทื˜:

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

ื ืึธืš ืขืงืกืึทืงื™ื•ื˜ื™ื ื’ ื“ื™ ื‘ืึทืคึฟืขืœ, ืึท ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ ื•ื•ืขื˜ ื–ื™ื™ืŸ ื‘ืืฉืืคืŸ /path/report_dir, ื•ื•ืึธืก ื•ื•ืขื˜ ืึทื ื˜ื”ืึทืœื˜ืŸ ื“ื™ ื‘ืึทืจื™ื›ื˜ ื˜ืขืงืขืก.

ื‘ืึทืฆืึธืœืŸ ื•ืคืžืขืจืงื–ืึทืžืงื™ื™ึทื˜ ืฆื• ื“ื™ ืฉืœื™ืกืœ -a. ืขืก ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ื•ื•ืึธืก ื•ื•ืึธืจื ื™ื ื’ื– ื–ืึธืœ ื–ื™ื™ืŸ ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ืื™ืŸ ื“ืขื ื‘ืึทืจื™ื›ื˜. ื“ืึธืก ืื™ื– ื‘ืึทืงื•ื•ืขื ืื•ื™ื‘ ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืคื™ืœื˜ืขืจ ื“ื™ ืจืขื–ื•ืœื˜ืึทื˜ ืคื•ืŸ ื“ื™ ืึทื ืึทืœื™ื–ืขืจ. ื“ื™ ืื•ื™ื‘ืŸ ื‘ืึทืคึฟืขืœ ื•ื•ืขื˜ ื“ื–ืฉืขื ืขืจื™ื™ื˜ ืึท ื‘ืึทืจื™ื›ื˜ ื•ื•ืึธืก ื•ื•ืขื˜ ืึทื ื˜ื”ืึทืœื˜ืŸ ื‘ืœื•ื™ื– ื•ื•ืึธืจื ื™ื ื’ื– ืคื•ืŸ ื“ื™ ืึทืœื’ืขืžื™ื™ื ืข ืึทื ืึทืœื™ืกื™ืก ื’ืจื•ืคึผืข ืคื•ืŸ โ€‹โ€‹ื“ืขืจ ืขืจืฉื˜ืขืจ ืื•ืŸ ืจื’ืข ืฆื•ื˜ืจื•ื™ ืœืขื•ื•ืขืœืก (ื”ื•ื™ืš ะธ ืžื™ื˜ืœ).

ื‘ืืจื™ื›ื˜ ื‘ื™ื™ืฉืคื™ืœ:

ื‘ืึทืงืขื ืขืŸ ื–ื™ืš ืžื™ื˜ืŸ PVS-Studio ืกื˜ืึทื˜ื™ืฉืŸ ืึทื ืึทืœื™ื–ื™ืจืขืจ ื‘ื™ื™ื ืึทื ื˜ื•ื•ื™ืงืœืขืŸ C++ ืคึผืจืึธื’ืจืึทืžืขืŸ ืื™ืŸ ื“ืขืจ ืกื‘ื™ื‘ื” Linux

ื“ืจื™ืงื˜ ืื•ื™ืฃ ืึท ืฆืขืœ ืึธืจื˜ ืึทืจื˜ื™ืงืœืขืŸ, ืื™ืจ ืงืขื ืขืŸ ืฉืคึผืจื™ื ื’ืขืŸ ืฆื• ื“ื™ ืงืึธืจืึทืกืคึผืึทื ื“ื™ื ื’ ืฉื•ืจื” ืคื•ืŸ ืงืึธื“:

ื‘ืึทืงืขื ืขืŸ ื–ื™ืš ืžื™ื˜ืŸ PVS-Studio ืกื˜ืึทื˜ื™ืฉืŸ ืึทื ืึทืœื™ื–ื™ืจืขืจ ื‘ื™ื™ื ืึทื ื˜ื•ื•ื™ืงืœืขืŸ C++ ืคึผืจืึธื’ืจืึทืžืขืŸ ืื™ืŸ ื“ืขืจ ืกื‘ื™ื‘ื” Linux

ื“ืจื™ืงื˜ ืื•ื™ืฃ ื“ื™ ื“ื™ืึทื’ื ืึธืกื˜ื™ืง ื ื•ืžืขืจ ืื™ืŸ ื“ื™ ื–ื™ื™ึทืœ ืงืึธื“ืขืงืก ื•ื•ืขื˜ ืขืคืขื ืขืŸ ื“ื™ ื“ืึทืงื™ื•ืžืขื ื˜ื™ื™ืฉืึทืŸ ื“ื™ืกืงืจื™ื™ื‘ื™ื ื’ ื“ืขื ื“ื™ืึทื’ื ืึธืกื˜ื™ืง.

ืึทื ืึทืœื™ื–ืขืจ ืกืึทืคึผืจืขืฉืึทืŸ

ื•ื•ืขืŸ ืงืึธื ื˜ืจืึธืœื™ืจื•ื ื’ ื“ื™ ืงืึธื“ ืžื™ื˜ ืึท ืกื˜ืึทื˜ื™ืง ืึทื ืึทืœื™ื–ืขืจ, ืคืึทืœืฉ ืคึผืึทื–ืึทื˜ื™ื•ื•ื– ืึธื“ืขืจ ืคืฉื•ื˜ ืึทื ื•ื•ืึธื ื˜ื™ื“ ืึทืจื˜ื™ืงืœืขืŸ (ืจืึทืฉ) ื–ืขื ืขืŸ ืžืขื’ืœืขืš. PVS-Studio ื’ื™ื˜ ืžืขืงืึทื ื™ื–ืึทืžื– ืคึฟืึทืจ ืกืึทืคึผืจืขืกื™ื ื’ ืึทื–ืึท ื•ื•ืึธืจื ื™ื ื’ื–. ืคึฟืึทืจ ื™ื—ื™ื“ ืกืึทืคึผืจืขืฉืึทืŸ ืคื•ืŸ ืึทืœืึทืจืžืก, ืื™ืจ ืงืขื ืขืŸ ืฆื•ืœื™ื™ื’ืŸ ืื™ื™ื ืขืจ ืคื•ืŸ ื“ื™ ืžืขื˜ื”ืึธื“ืก ื“ื™ืกืงืจื™ื™ื‘ื“ ืื™ืŸ ื“ื™ ื“ืึทืงื™ื•ืžืขื ื˜ื™ื™ืฉืึทืŸ ืึธืคึผื˜ื™ื™ืœื•ื ื’ "ืกืึทืคึผืจืขืฉืึทืŸ ืคื•ืŸ ืคืึทืœืฉ ื•ื•ืืจืขื ื•ื ื’".

ืื•ื™ืš, ื•ื•ืขืŸ ืึทื ืึทืœื™ื™ื–ื™ื ื’ ืึทืœื˜ ืงืึธื“, ืขืก ืงืขืŸ ื–ื™ื™ืŸ ื ื™ื™ื˜ื™ืง ืฆื• ืžืึทืกื™ื•ื•ืœื™ ืคืึทืจืฉื˜ื™ืงืŸ ืึทืœืข ืึทืจื˜ื™ืงืœืขืŸ. ื•ื•ื™ ืึท ื”ืขืจืฉืŸ, ื“ืึธืก ืื™ื– ื ื™ื™ื˜ื™ืง ืฆื• ืงืึธื ื˜ืจืึธืœื™ืจืŸ ื‘ืœื•ื™ื– ื“ื™ ืงืึธื“ ื•ื•ืึธืก ืื™ื– ืžื•ืกื™ืฃ ืฆื• ื“ื™ ื™ื’ื–ื™ืกื˜ื™ื ื’ ืงืึธื“. ืฆื• ื˜ืึธืŸ ื“ืึธืก, ื ื•ืฆืŸ ื“ื™ ืคึผืึทืจืึทืžืขื˜ืขืจ ืคืึทืจืฉื˜ื™ืงืŸ ื™ื•ื˜ื™ืœืึทื˜ื™ื– pvs-studio-analyzer.

ืื™ืจ ืงืขื ืขืŸ ืคืึทืจืฉื˜ื™ืงืŸ ืึทืจื˜ื™ืงืœืขืŸ ืื™ืŸ ืึท ื‘ืึทืจื™ื›ื˜ ืžื™ื˜ ื“ื™ ืคืืœื’ืขื ื“ืข ื‘ืึทืคึฟืขืœ:

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

ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ื•ื•ืขื’ืŸ ืกืึทืคึผืจืขืกื˜ ืึทืจื˜ื™ืงืœืขืŸ ืื™ื– ืกื˜ืึธืจื“ ืื™ืŸ ืึท ื˜ืขืงืข suppress_base.json, ื•ื•ืึธืก ืœื™ื’ื˜ ืœืขื‘ืŸ ื“ื™ ืคึผืจื•ื™ืขืงื˜. ืึทื–ืึท ืึทืจื˜ื™ืงืœืขืŸ ื–ืขื ืขืŸ ื™ืงืกืงืœื•ื“ื™ื“ ืคื•ืŸ ื“ื™ ื‘ืึทืจื™ื›ื˜ ื‘ืขืฉืึทืก ืกืึทื‘ืกืึทืงื•ื•ืึทื ื˜ ื˜ืฉืขืงืก.

ื“ืขื ืžืขืงืึทื ื™ื–ืึทื ืื™ื– ื“ื™ืกืงืจื™ื™ื‘ื“ ืื™ืŸ ืžืขืจ ื“ืขื˜ืึทืœ ืื™ืŸ ื“ื™ ื“ืึทืงื™ื•ืžืขื ื˜ื™ื™ืฉืึทืŸ. ื“ืึธ.

ืกืึธืฃ

ื“ืึธืก ืื™ื– ื’ืขื•ื•ืขืŸ ืึท ืงื•ืจืฆืข ื”ืงื“ืžื” ืฆื• ื ื™ืฆืŸ ื“ืขื PVS-Studio ืึทื ืึทืœื™ื–ื™ืจืขืจ ืื•ื ื˜ืขืจ Linuxืื™ืš ื”ืืฃ ืื– ื“ืืก ืื™ื– ื’ืขื•ื•ืขืŸ ื ื•ืฆืœืขืš ืื•ืŸ ื”ืื˜ ื’ืขืขื ื˜ืคืขืจื˜ ืขื˜ืœืขื›ืข ืคื•ืŸ โ€‹โ€‹ืื™ื™ืขืจืข ืžืขืจืกื˜ ื’ืขืฉื˜ืขืœื˜ืข ืคืจืื’ืขืก. ืื™ืจ ืงืขื ื˜ ืœื™ื™ืขื ืขืŸ ืžืขืจ ื•ื•ืขื’ืŸ ื“ืขื ื˜ืขืžืข ืื™ืŸ ื“ื™ ื“ืืงื•ืžืขื ื˜ืืฆื™ืข. ื“ืึธ.

ื‘ืึทืงืขื ืขืŸ ื–ื™ืš ืžื™ื˜ืŸ PVS-Studio ืกื˜ืึทื˜ื™ืฉืŸ ืึทื ืึทืœื™ื–ื™ืจืขืจ ื‘ื™ื™ื ืึทื ื˜ื•ื•ื™ืงืœืขืŸ C++ ืคึผืจืึธื’ืจืึทืžืขืŸ ืื™ืŸ ื“ืขืจ ืกื‘ื™ื‘ื” Linux

ืื•ื™ื‘ ืื™ืจ ื•ื•ื™ืœื˜ ื˜ื™ื™ืœืŸ ื“ืขื ืึทืจื˜ื™ืงืœ ืžื™ื˜ ืึทืŸ ืขื ื’ืœื™ืฉ-ื’ืขืจืขื“ื˜ ื•ื™ืœืขื, ื‘ื™ื˜ืข ื ื•ืฆืŸ ื“ื™ ืื™ื‘ืขืจื–ืขืฆื•ื ื’ ืœื™ื ืง: ื™ื•ืจื™ ืžื™ื ืึทืขื•ื•. ืึธื ื”ื™ื™ื‘ืŸ ืžื™ื˜ืŸ PVS-Studio ืกื˜ืึทื˜ื™ืฉืŸ ืึทื ืึทืœื™ื–ืขืจ ืคึฟืึทืจ C++ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืื•ื ื˜ืขืจ Linux.

ืžืงื•ืจ: www.habr.com

ืงื•ื™ืคืŸ ืคืึทืจืœืึธื–ืœืขืš ื”ืึธืกื˜ื™ื ื’ ืคึฟืึทืจ ื–ื™ื™ื˜ืœืขืš ืžื™ื˜ DDoS ืฉื•ืฅ, VPS VDS ืกืขืจื•ื•ืขืจืก ๐Ÿ”ฅ ืงื•ื™ืคื˜ ืคืึทืจืœืขืกืœืขื›ืข ื•ื•ืขื‘ื–ื™ื™ื˜ืœ ื”ืึธืกื˜ื™ื ื’ ืžื™ื˜ DDoS ืฉื•ืฅ, VPS VDS ืกืขืจื•ื•ืขืจืก | ProHoster