αžŸαŸ’αžœαŸ‚αž„αž™αž›αŸ‹αž–αžΈαž§αž”αž€αžšαžŽαŸαžœαž·αž—αžΆαž‚αž‹αž·αžαž·αžœαž“αŸ’αž 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]

αž€αž“αŸ’αž›αŸ‚αž„αžŽαžΆ NAME ΠΈ KEY - αžˆαŸ’αž˜αŸ„αŸ‡αžŠαŸ‚αž›αž’αžΆαž‡αŸ’αž‰αžΆαž”αŸαžŽαŸ’αžŽαžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αž»αŸ‡αž”αž‰αŸ’αž‡αžΈ αž“αž·αž„αžŸαŸ„αž’αžΆαž‡αŸ’αž‰αžΆαž”αŸαžŽαŸ’αžŽαŸ” αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαžŸαŸ’αžšαŸαž…αž…αž·αžαŸ’αž -ឬ αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž•αŸ’αž›αžΌαžœαžŠαŸ‚αž›αž―αž€αžŸαžΆαžšαž’αžΆαž‡αŸ’αž‰αžΆαž”αŸαžŽαŸ’αžŽαž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαŸ” αžαžΆαž˜αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž€αŸ’αž“αž»αž„αžαž ~/.config/PVS-Studio/.

αž’αŸ’αž“αž€αž’αžΆαž…αž‘αž‘αž½αž›αž”αžΆαž“αž‚αž“αŸ’αž›αžΉαŸ‡αžŸαžΆαž€αž›αŸ’αž”αž„αž“αŸ…αž›αžΎαž‘αŸ†αž–αŸαžš "αž‘αžΆαž‰αž™αž€ αž“αž·αž„αžŸαžΆαž€αž›αŸ’αž”αž„ PVS-Studio"αŸ”

αž€αžΆαžšαž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αž‚αž˜αŸ’αžšαŸ„αž„

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαžŠαŸ†αž‘αžΎαž„αž§αž”αž€αžšαžŽαŸαžœαž·αž—αžΆαž‚ αž’αŸ’αž“αž€αž’αžΆαž…αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž‚αž˜αŸ’αžšαŸ„αž„αŸ” αž˜αžΆαž“αžœαž·αž’αžΈαžŸαŸ†αžαžΆαž“αŸ‹αž–αžΈαžšαžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαžšαžΏαž„αž“αŸαŸ‡αŸ–

  1. αž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž€αžΆαžšαž…αž„αž€αŸ’αžšαž„;
  2. αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αŸ’αž“αž»αž„αž’αŸ†αž‘αž»αž„αž–αŸαž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŸαžΆαž„αžŸαž„αŸ‹αžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹αž–αžΈαž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŸαŸ’αžαžΆαž”αž“αžΆαŸ”

αž…αžΌαžšαž™αžΎαž„αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžαŸ’αžšαžŠαŸ†αž”αžΌαž„αž‡αžΆαž˜αž»αž“αžŸαž·αž“αŸ” αžŠαžΎαž˜αŸ’αž”αžΈαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž“αŸ…αž€αŸ’αžšαŸ„αž˜ Linux, αž’αŸ’αž“αž€αž“αžΉαž„αžαŸ’αžšαžΌαžœαž€αžΆαžšαž§αž”αž€αžšαžŽαŸαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ αžαŸ’αžŸαŸ‚. αž’αŸ’αž“αž€αžœαž·αž—αžΆαž‚αž”αŸ’αžšαžΎαžœαžΆαžŠαžΎαž˜αŸ’αž”αžΈαž”αŸ’αžšαž˜αžΌαž›αž–αŸαžαŸŒαž˜αžΆαž“αž’αŸ†αž–αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŽαžΆαž˜αž½αž™αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž€αŸ†αž‘αž»αž„αž–αŸαž›αž”αž„αŸ’αž€αžΎαžαž‚αž˜αŸ’αžšαŸ„αž„αŸ”

αž€αžΆαžšαž”αžΆαž‰αŸ‹αž”αž„αŸ’αž αŸ„αŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαžŠαŸ„αž™αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαžŠαžΌαž…αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸˆ

pvs-studio-analyzer trace -- make

αž§αž‘αžΆαž αžšαžŽαŸαž“αŸαŸ‡αž”αŸ’αžšαžΎ make to build αž”αŸ‰αž»αž“αŸ’αžαŸ‚ make call αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‡αŸ†αž“αž½αžŸαžŠαŸ„αž™ command αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαžŠαŸ‚αž›αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαžŠαžΎαž˜αŸ’αž”αžΈαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜ buildαŸ” αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž”αž“αŸ’αž‘αžΆαžαŸ‹αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž‡αžΌαž“αž‘αŸ…αžœαžΆαžαžΆαž˜αžšαž”αŸ€αž”αž’αž˜αŸ’αž˜αžαžΆαŸ”

αž“αŸ…αž–αŸαž›αž”αž„αŸ’αž€αžΎαžαžšαž½αž… αžαŸ’αžŸαŸ‚αž“αžΉαž„αž”αž„αŸ’αž€αžΎαžαž―αž€αžŸαžΆαžšαžŠαŸ‚αž›αž’αŸ’αž“αž€αžœαž·αž—αžΆαž‚αž“αžΉαž„αž”αŸ’αžšαžΎαžŠαžΎαž˜αŸ’αž”αžΈαž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž€αžΌαžŠαž”αŸ’αžšαž—αž–αŸ” αž’αŸ’αž“αž€αž’αžΆαž…αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž€αžΆαžšαžœαž·αž—αžΆαž‚αžŠαŸ„αž™αž”αŸ’αžšαžΎαž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ

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

αž›αž‘αŸ’αž’αž•αž›β€‹αž“αžΉαž„β€‹αž‡αžΆβ€‹αž―αž€αžŸαžΆαžšβ€‹αžŠαŸ‚αž›β€‹αž”αžΆαž“β€‹αž’αŸŠαž·αž“αž€αžΌαžŠβ€‹αž‡αžΆαž˜αž½αž™β€‹αž›αž‘αŸ’αž’αž•αž› αžŠαŸ‚αž›β€‹αž’αŸ’αž“αž€β€‹αž’αžΆαž…β€‹αž”αŸ†αž”αŸ’αž›αŸ‚αž„β€‹αž‘αŸ…αž‡αžΆβ€‹αž‘αž˜αŸ’αžšαž„αŸ‹β€‹αžŠαŸ‚αž›β€‹αž”αžΆαž“β€‹αž‚αžΆαŸ†αž‘αŸ’αžšαŸ” αž™αžΎαž„αž“αžΉαž„αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž€αžΆαžšαž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαž“αŸ…αž€αŸ’αž“αž»αž„αž•αŸ’αž“αŸ‚αž€αž”αž“αŸ’αž‘αžΆαž”αŸ‹αŸ”

αž”αž“αŸ’αžαŸ‚αž˜αž–αžΈαž›αžΎαž€αžΆαžšαž”αŸ’αžšαžΎ strace αž€αžΆαžšαžœαž·αž—αžΆαž‚αž€αŸαž’αžΆαž…αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαž―αž€αžŸαžΆαžšαž•αž„αžŠαŸ‚αžšαŸ” compile_commands.json (αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž…αž„αž€αŸ’αžšαž„ JSON) αŸ” αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŸαŸ’αžαžΆαž”αž“αžΆαž‡αžΆαž…αŸ’αžšαžΎαž“αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž“αžΆαŸ†αž…αŸαž‰αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαž αŸ…αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž…αž„αž€αŸ’αžšαž„ αž¬αž’αŸ’αž“αž€αž’αžΆαž…αž”αŸ’αžšαžΎαž§αž”αž€αžšαžŽαŸαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ αžαŸ’αž›αžΆαžƒαŸ’αž˜αž»αŸ†αŸ”. αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž“αŸαŸ‡αž’αŸ’αž“αž€αž’αžΆαž…αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž€αžΆαžšαžœαž·αž—αžΆαž‚αžŠαŸ„αž™αž”αŸ’αžšαžΎαž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ

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

αžœαžΆαž‚αž½αžšαžαŸ‚αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αžαŸ‹αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αžαžΆαž’αŸ’αž“αž€αžœαž·αž—αžΆαž‚αž‘αž‘αž½αž›αžŸαŸ’αž‚αžΆαž›αŸ‹αž’αŸ’αž“αž€αž…αž„αž€αŸ’αžšαž„αžŠαŸ‚αž›αž”αŸ’αžšαžΎαžŠαŸ„αž™αžˆαŸ’αž˜αŸ„αŸ‡αž―αž€αžŸαžΆαžšαžŠαŸ‚αž›αž’αžΆαž…αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž”αžΆαž“αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž‘αž‘αž½αž›αž”αžΆαž“αž€αŸ†αž αž»αžŸ "αžšαž€αž˜αž·αž“αžƒαžΎαž‰αž―αž€αžαžΆαž…αž„αž€αŸ’αžšαž„" αž“αŸ…αž–αŸαž›αž–αž·αž“αž·αžαŸ’αž™ αžŸαžΌαž˜αž–αŸ’αž™αžΆαž™αžΆαž˜αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αžˆαŸ’αž˜αŸ„αŸ‡αž’αŸ’αž“αž€αž…αž„αž€αŸ’αžšαž„αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžαžΆαž˜αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžš - αž’αŸ’αž“αž€αž…αž„αž€αŸ’αžšαž„ ឬ – αž‚:

pvs-studio-analyzer analyze -c MyCompiler

αž“αŸαŸ‡αž’αžΆαž…αž‡αžΆαž€αžΆαžšαž…αžΆαŸ†αž”αžΆαž…αŸ‹αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž€αžΆαžšαž…αž„αž€αŸ’αžšαž„αž†αŸ’αž›αž„ αž“αž·αž„αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž…αž„αž€αŸ’αžšαž„αžŠαŸ‚αž›αž˜αžΆαž“αžˆαŸ’αž˜αŸ„αŸ‡αž―αž€αžŸαžΆαžšαžŠαŸ‚αž›αž˜αž·αž“αž’αžΆαž…αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž”αžΆαž“αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαŸ”

αž”αž“αŸ’αžαŸ‚αž˜αž–αžΈαž›αžΎαž€αžΆαžšαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αŸ’αž“αž»αž„αžšαž”αŸ€αž”αžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™ αž’αŸ’αž“αž€αž’αžΆαž…αž”αž‰αŸ’αž…αžΌαž›αž§αž”αž€αžšαžŽαŸαžœαž·αž—αžΆαž‚αž‘αŸ…αž€αŸ’αž“αž»αž„αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŸαžΆαž„αžŸαž„αŸ‹ ឬ IDE αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” αž§αž‘αžΆαž αžšαžŽαŸαž“αŸƒαž‚αž˜αŸ’αžšαŸ„αž„αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αžŠαŸ‚αž›αž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžšαž½αž…αž αžΎαž™αž’αžΆαž…αžšαž€αž”αžΆαž“αž“αŸ… GitHub αž“αŸ…αž€αŸ’αž“αž»αž„αžƒαŸ’αž›αžΆαŸ†αž„ PVS_StudioαŸ–

αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αž›αž˜αŸ’αž’αž·αžαž”αž“αŸ’αžαŸ‚αž˜αž’αŸ†αž–αžΈαžšαž”αŸ€αž”αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αžΆαžšαžœαž·αž—αžΆαž‚αž˜αžΆαž“αž“αŸ…αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ” Linux αžšαž€αž˜αžΎαž› αž―αž€αžŸαžΆαžš.

αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸ

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž€αžΆαžšαžšαž…αž“αžΆ αž’αŸ’αž“αž€αžœαž·αž—αžΆαž‚αž”αž„αŸ’αž€αžΎαžαžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαž€αžΌαžŠαŸ” αžŠαžΎαž˜αŸ’αž”αžΈαž”αŸ†αž”αŸ’αž›αŸ‚αž„αžœαžΆαž‘αŸ…αž‡αžΆαž‘αž˜αŸ’αžšαž„αŸ‹αžŠαŸ‚αž›αž”αžΆαž“αž‚αžΆαŸ†αž‘αŸ’αžš αž’αŸ’αž“αž€αž‚αž½αžšαžαŸ‚αž”αŸ’αžšαžΎαž§αž”αž€αžšαžŽαŸαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αž˜αŸ’αž›αŸ‚αž„ plogαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαŸ†αž‘αžΎαž„αž‡αžΆαž˜αž½αž™ PVS-Studio αŸ”

αž§αž”αž€αžšαžŽαŸαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž‚αžΆαŸ†αž‘αŸ’αžšαž‘αž˜αŸ’αžšαž„αŸ‹αžŠαžΌαž…αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸˆ

  • xml - αž‘αž˜αŸ’αžšαž„αŸ‹αž„αžΆαž™αžŸαŸ’αžšαž½αž›αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž”αž“αŸ’αžαŸ‚αž˜αž“αŸƒαž›αž‘αŸ’αž’αž•αž›αžœαž·αž—αžΆαž‚ αž‚αžΆαŸ†αž‘αŸ’αžšαžŠαŸ„αž™αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‡αŸ†αž“αž½αž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ SonarQube;
  • csv - αž‘αž˜αŸ’αžšαž„αŸ‹αž’αžαŸ’αžαž”αž‘αžŠαŸ‚αž›αž˜αžΆαž“αž”αŸ†αžŽαž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αž„αŸ’αž αžΆαž‰αž‘αž·αž“αŸ’αž“αž“αŸαž™αžαžΆαžšαžΆαž„;
  • errorfile - αž‘αž˜αŸ’αžšαž„αŸ‹αž›αž‘αŸ’αž’αž•αž› gcc αž“αž·αž„ clang;
  • αž”αž‰αŸ’αž‡αžΈαž—αžΆαžšαž€αž·αž…αŸ’αž… - αž‘αž˜αŸ’αžšαž„αŸ‹αž€αŸ†αž αž»αžŸαžŠαŸ‚αž›αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αžΎαž€αž“αŸ…αž€αŸ’αž“αž»αž„ 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-αž’αŸ’αž“αž€αžœαž·αž—αžΆαž‚.

αž’αŸ’αž“αž€αž’αžΆαž…αž”αž„αŸ’αžšαŸ’αž€αžΆαž”αžŸαžΆαžšαž™αŸ‰αžΆαž„αž…αŸ’αžšαžΎαž“αž“αŸ…αž€αŸ’αž“αž»αž„αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαžŠαŸ„αž™αž”αŸ’αžšαžΎαž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ–

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

αž–αŸαžαŸŒαž˜αžΆαž“αž’αŸ†αž–αžΈαžŸαžΆαžšαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αŸ’αžšαžΆαž”αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž€αŸ’αž“αž»αž„αž―αž€αžŸαžΆαžšαž˜αž½αž™αŸ” suppress_base.jsonαžŠαŸ‚αž›αžŸαŸ’αžαž·αžαž“αŸ…αž‡αžΆαž”αŸ‹αž‚αž˜αŸ’αžšαŸ„αž„αŸ” αžŸαžΆαžšαž”αŸ‚αž”αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαž€αž…αŸαž‰αž–αžΈαžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαž€αŸ†αž‘αž»αž„αž–αŸαž›αžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž‡αžΆαž”αž“αŸ’αžαž”αž“αŸ’αž‘αžΆαž”αŸ‹αŸ”

αž™αž“αŸ’αžαž€αžΆαžšαž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž–αž·αž–αžŽαŸŒαž“αžΆαž›αž˜αŸ’αž’αž·αžαž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ€αžαž“αŸ…αž€αŸ’αž“αž»αž„αž―αž€αžŸαžΆαžš αž“αŸ…αž‘αžΈαž“αŸαŸ‡.

αžŸαŸαž…αž€αŸ’αžαžΈαžŸαž“αŸ’αž“αž·αžŠαŸ’αž‹αžΆαž“

αž“αŸαŸ‡β€‹αž‡αžΆβ€‹αž€αžΆαžšβ€‹αžŽαŸ‚αž“αžΆαŸ†β€‹αžŸαž„αŸ’αžαŸαž”β€‹αž’αŸ†αž–αžΈβ€‹αž€αžΆαžšβ€‹αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹β€‹αž§αž”αž€αžšαžŽαŸβ€‹αžœαž·αž—αžΆαž‚ PVS-Studio αž€αŸ’αžšαŸ„αž˜... LinuxαžαŸ’αž‰αž»αŸ†αžŸαž„αŸ’αžƒαžΉαž˜αžαžΆαžšαžΏαž„αž“αŸαŸ‡αž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸ αž αžΎαž™αž”αžΆαž“αž†αŸ’αž›αžΎαž™αžŸαŸ†αžŽαž½αžšαž˜αž½αž™αž…αŸ†αž“αž½αž“αžŠαŸ‚αž›αž’αŸ’αž“αž€αžŸαž½αžšαž‰αžΉαž€αž‰αžΆαž”αŸ‹αž”αŸ†αž•αž»αžαŸ” αž’αŸ’αž“αž€αž’αžΆαž…αž’αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž’αŸ†αž–αžΈαž”αŸ’αžšαž’αžΆαž“αž”αž‘αž“αŸαŸ‡αž“αŸ…αž€αŸ’αž“αž»αž„αž―αž€αžŸαžΆαžšαŸ” αž“αŸ…αž‘αžΈαž“αŸαŸ‡.

αžŸαŸ’αžœαŸ‚αž„αž™αž›αŸ‹αž–αžΈαž§αž”αž€αžšαžŽαŸαžœαž·αž—αžΆαž‚αž‹αž·αžαž·αžœαž“αŸ’αž PVS-Studio αž“αŸ…αž–αŸαž›αž’αž—αž·αžœαžŒαŸ’αžαž€αž˜αŸ’αž˜αžœαž·αž’αžΈ C++ αž“αŸ…αž€αŸ’αž“αž»αž„αž”αžšαž·αžŸαŸ’αžαžΆαž“ Linux

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž…αž„αŸ‹αž…αŸ‚αž€αžšαŸ†αž›αŸ‚αž€αž’αžαŸ’αžαž”αž‘αž“αŸαŸ‡αž‡αžΆαž˜αž½αž™αž‘αžŸαŸ’αžŸαž“αž·αž€αž‡αž“αžŠαŸ‚αž›αž“αž·αž™αžΆαž™αž—αžΆαžŸαžΆαž’αž„αŸ‹αž‚αŸ’αž›αŸαžŸ αžŸαžΌαž˜αž”αŸ’αžšαžΎαžαŸ†αžŽαž—αŸ’αž‡αžΆαž”αŸ‹αž€αžΆαžšαž”αž€αž”αŸ’αžšαŸ‚αŸ– Yuri Minaev αŸ” αž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‡αžΆαž˜αž½αž™ PVS-Studio Static Analyzer αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸ C++ αž€αŸ’αžšαŸ„αž˜ Linux.

αž”αŸ’αžšαž—αž–: www.habr.com

αž‘αž·αž‰αž€αžΆαžšαž”αž„αŸ’αž αŸ„αŸ‡αžŠαŸ‚αž›αž’αžΆαž…αž‘αž»αž€αž…αž·αžαŸ’αžαž”αžΆαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‚αŸαž αž‘αŸ†αž–αŸαžšαžŠαŸ‚αž›αž˜αžΆαž“αž€αžΆαžšαž€αžΆαžšαž–αžΆαžš DDoS, αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ VPS VDS πŸ”₯ αž‘αž·αž‰αžŸαŸαžœαžΆαž”αž„αŸ’αž αŸ„αŸ‡αž‚αŸαž αž‘αŸ†αž–αŸαžšαžŠαŸ‚αž›αž’αžΆαž…αž‘αž»αž€αž…αž·αžαŸ’αžαž”αžΆαž“αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž€αžΆαžšαž–αžΆαžš DDoS αž“αž·αž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ VPS VDS | ProHoster