1 静态分析系统环境及准则
1.1 静态分析环境说明
图1 静态分析执行环境
如上图1所示,cppcheck静态分析工具安装在Linux编译服务器上,开发人员通过Windows环境下的VSCode开发工具,连接上Linux服务器后,实现对项目源代码的静态分析、问题修改及编译。
1.2 软件及工具版本清单
1.3 执行准则
除下述“例外检查项”项目外,软件开发人员需针对项目的所有C/C++代码严格执行所有检测项目,在代码提交系统测试之前,需实现所有检测异常项清零,并提交自测报告用于查验。
例外检查项
2 软件配置说明
2.1 cppcheck工具安装
注:编译服务器已完成安装工作,非编译服务器维护人员可忽略本节内容
在debian\ubuntu等linux编译服务器上,可使用 sudo apt-get install cppcheck ,可直接安装cppcheck工具。
也可使用源码安装, 安装方法可参考源码中的README.md,使用cmake进行工程的编译。
使用源码安装后,若找不到cppcheck-htmlreport工具,可在编译完成后的cppcheck源码工程中htmlreport文件夹中找到。
将cppcheck-htmlreport文件拷贝至/usr/local/bin/下,便于使用。
cp cppcheck-htmlreport /usr/local/bin
2.2 VSCode相关配置
VSCode远程服务器插件安装
在VSCode左侧导航栏的拓展项(ctrl+shift+x)中,搜索remote-ssh,该插件用于远程登陆linux编译服务器,便于后续操作。
图2 VSCode插件安装
VSCode配置任务
注:该项由各项目软件开发代表统一配置,并提交到git代码仓,开发人员忽略
通过VSCode Task功能配置相关任务,实现自动化的运行远程cppcheck工具,捕获检测的各类错误,并自动关联源代码,方便开发人员修改源代码,修复关联问题。
打开VSCode项目工作目录下的task.json文件:
VSCode/task.json
注:如果不存在上述文件,则选择“终端”->“配置任务”,然后选择“使用模板”创建task.json文件。
逐个加入下述任务配置,并根据项目调整【修改配置】项
配置静态检测任务-“cppcheck”
配置输出xml文件任务-“xml report”
配置生成静态检测报告任务-“html report”
3 软件操作
注:此处操作前提VSCode连接编译服务器,并打开项目工作目录
VSCode在上方的工具栏【终端】,在下拉框中选择【运行任务】,执行【cppcheck】任务,即可将错误信息动态输出到VSCode的【问题窗口】上。
4 报告生成
4. 1 生成报告
点击VSCode在上方的工具栏【终端】,在下拉框中选择【运行任务】,执行【html report】任务,即可生成检测报告到项目工程下report文件夹中。
4.2 检测报告预览
打开项目工程下的report文件夹中index.html文件,即可预览检测报告。