在Linux下安装PVS-Studio有多种方法,这具体取决于你的发行版类型。最方便和首选的方法是使用存储库,因为它允许在发布新版本时自动更新分析器。另一个选择是使用安装包,你可以在这里找到它。
安装命令也因你使用的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
安装过程在“Linux安装和更新PVS-Studio”文档部分有更详细的描述。你还可以在那里找到非Debian系统的信息。
安装PVS-Studio后,需要输入数据许可。命令如下:
pvs-studio-analyzer credentials NAME KEY [-o LIC-FILE]
NAME和KEY分别是注册用户名和许可证密钥。可选参数-o允许你指定将生成许可证文件的位置。默认情况下,它将被存储在~/.config/PVS-Studio/目录中。
如果你需要试用密钥,可以在“下载和评估PVS-Studio”页面上获取。
检查你的项目
安装完成后,就可以开始检查项目了。其主要有两种方法::
1.编译监控。
2.直接从构建系统运行。
我们先来谈谈第一种方式。要在Linux下启动监视,需要strace程序。PVS-Studio使用它来收集在构建期间启动的进程列表和参数。
使用以下命令启动构建:
pvs-studio-analyzer trace – make
这里使用make,但你正在运行的用以构建项目的任意其他命令都可以在这个位置。如果需要,你还可以用通常的方式将命令行参数传递给它。
构建之后,strace将创建一个文件,然后分析器将使用该文件来检查源代码。启动分析的命令如下。
pvs-studio-analyzer analyze -o /path/to/project.log
这将生成一个编码的日志文件,你可以将其转换为受支持的格式。稍后我们将讨论如何处理报告的问题。
除了strace之外,你还可以基于compile_commands.json(JSON编译数据库)文件进行分析。许多构建系统都有导出编译命令的内置方法,或者你可以使用BEAR程序来执行此操作。以下是在这种情况下启动分析的命令:
pvs-studio-analyzer analyze –f /path/to/compile_commands.json
请注意,分析器通过其可执行文件名识别构建过程中使用的编译器。如果在尝试分析项目时遇到“No compilation units found”错误,请尝试通过-compiler或-c命令行键显式指定编译器的名称:
pvs-studio-analyzer analyze -c MyCompiler
如果你正在使用交叉编译,或者你的编译器具有非标准可执行文件名,则可能需要此项。
除监控模式外,你还可以将分析器直接集成到构建系统或IDE中。我们的官方GitHub存储库提供了已配置集成的示例项目:
pvs-studio-cmake-examples
pvs-studio-qmake-examples
pvs-studio-makefile-examples
pvs-studio-waf-examples
pvs-studio-eclipse-examples
要了解有关在Linux下运行分析器的更多信息,请参阅文档。
报告
检查项目后,分析器会创建一份编码报告。要将其转换为受支持的格式,你需要使用PVS-Studio安装附带的plog-converter实用程序。
以下是支持的格式列表:
xml-一种便于进一步处理分析结果的格式,SonarQube插件支持该格式;
csv – 文件以纯文本形式存储表格数据(数字和文本);
errorfile – gcc和clang的输出格式;
tasklist – 可以在QtCreator中打开的错误格式;
html – html报告,包含分析结果的简短描述;
fullhtml – 报告根据源码中的不同参数和导航对分析结果进行排序。
fullhtml格式是查看报告最方便的格式,因为这种格式支持你直接跳转到你感兴趣的警告相对应的代码行。以下是将你的报告转换为该格式的命令:
plog-converter -a GA:1,2 -t fullhtml /path/project.log -o /path/report_dir
当你启动它时,名为/path/report_dir的新创建目录将包含所有报告文件。
注意-a参数。它允许你指定应在结果报告中显示的警告内容。如果你需要过滤分析器的输出,这会非常方便。上面的命令将创建一份报告,其中将仅包含第一和第二确定性级别(高和中)的一般分析消息。
本文介绍了如何在Linux环境下安装PVS-Studio静态代码分析工具,包括使用存储库和安装包的方法。安装后,通过输入许可数据激活,可以采用编译监控或直接从构建系统运行两种方式进行项目检查。PVS-Studio利用strace或compile_commands.json文件进行分析,并提供多种报告格式供用户选择。
1242

被折叠的 条评论
为什么被折叠?



