Jenkins常用插件之Cppcheck Plugin
来源:互联网 发布:plc模拟量编程实例 编辑:程序博客网 时间:2024/05/16 18:40
工具简介
Cppcheck 是一个静态代码检查工具,支持C/C++代码;作为编译器的一种补充检查,Cppcheck主要对源代码执行以下检查:
1. 自动变量检查
2. 数组的边界检查
3. class类检查
4. 过期的函数,废弃函数调用检查
5. 异常内存使用,释放检查
6. 内存泄漏检查,主要是通过内存引用指针
7. 操作系统资源释放检查,中断,文件描述符等
8. 异常STL 函数使用检查
9. 代码格式错误,以及性能因素检查
基础使用
检查单个文件:cppcheck file.c
检查文件夹:cppcheck filePath
排除一个文件或文件夹:cppcheck -i src/file.c src
以下是该插件在Jenkins中使用的具体步骤:
第一步:Cppcheck相关软件下载和安装
- 在网上下载Cppcheck
- 在网上下载Cppcheck Plugin插件,下载文件为cppcheck.hpi
- 安装Cppcheck工具
1、进入/usr/local,解压:tar –zxvf cppcheck-1.73.tar.gz
2、进入/usr/local/cppcheck 1.73,编译:make CFGDIR=/usr/local/cppcheck 1.73/cfg/
3、安装:make install
4、配置cppcheck的环境变量,修改/etc/profile如下:
新增CPPCHECK_HOME=/usr/local/cppcheck 1.73
在PATH后追加:$CPPCHECK_HOME
在CLASSPATH后追加:$CPPCHECK_HOME
运行source /etc/profile命令,使新的环境变量生效 - 在jenkins中安装Cppcheck Plugin插件,系统管理–>插件管理–>高级上传cppcheck.hpi进行安装
第二步:项目的具体配置
第三步:结果查看
Cppcheck使用样例
# 最小集参数设置cppcheck --xml --xml-version=2 SOURCE_DIRECTORY 2> cppcheck.xml# 检查所有cppcheck --enable=all --inconclusive --xml --xml-version=2 SOURCE_DIRECTORY 2> cppcheck.xml# 多线程并行分析代码cppcheck -j 4 --enable=all --inconclusive --xml --xml-version=2 SOURCE_DIRECTORY 2> cppcheck.xml
Cppcheck设置说明
使用中遇到的问题
问题1:cppcheck:failed to load library configuration file ‘std.cfg’.file not find
详细的错误信息:Failed to load std.cfg. Your Cppcheck installation is broken, please re-install. The Cppcheck binary was compiled without CFGDIR set. Either the std.cfg should be available in cfg or the CFGDIR should be configured.
原因:编译时未指定CFGDIR
解决方法:在编译时指定CFGDIR,如:make CFGDIR=/usr/local/cppcheck 1.73/cfg/
- Jenkins常用插件之Cppcheck Plugin
- Jenkins常用插件之MSBuild Plugin
- Jenkins常用插件之Deploy Plugin
- Jenkins常用插件之Deploy Plugin
- Jenkins常用插件之MSBuild Plugin
- Jenkins常用插件之Publish Over CIFS Plugin
- Jenkins常用插件之Clone Workspace SCM Plugin
- jenkins插件之docker plugin
- jenkins插件之Build Pipeline Plugin和Delivery Pipeline Plugin
- 持续集成 之 Jenkins插件 Multiple SCMs Plugin
- Jenkins系列之—06 Publish Over FTP Plugin插件
- Jenkins系列之—07 FTP publisher plugin插件
- Jenkins系列之—22 Android Emulator Plugin插件
- 持续集成 之 Jenkins插件 Multiple SCMs Plugin
- 持续集成 之 Jenkins插件 Multiple SCMs Plugin
- Jenkins常用插件之email-ext
- Jenkins常用插件之Publish Over SSH
- Jenkins常用插件之Publish Over SSH
- android图片轮播效果,RollViewPager的简单使用
- SessionFactory创建失败
- 背景及文字渐变色闪烁动画
- 身份证号验证 银行卡号验证
- 棋盘问题
- Jenkins常用插件之Cppcheck Plugin
- 【连载】关系型数据库是如何工作的?(4) - 数组、二叉搜索树
- 链表排序——插入排序(纯C语言版)
- 链表排序——选择排序法(纯C语言版)
- openwrt: Makefile 框架分析
- 使用spring web.xml里的配置 - 请求处理器DispatcherServlet
- HDU 2668 Daydream(最长不重复子序列)
- 链表的操作(纯C语言版)
- 《Motion Design for iOS》(十二)