CppCheck
CppCheck 是一种 C/C++ 代码缺陷静态检查工具,它可以检测以下错误类型:
- Dead pointers
- Division by zero
- Integer overflows
- Invalid bit shift operands
- Invalid conversions
- Invalid usage of STL
- Memory management
- Null pointer dereferences
- Out of bounds checking
- Uninitialized variables
- Writing const data
工具下载安装
- 安装
- 下载
CppCheck 最新更新版本下载地地址:http://cppcheck.sourceforge.net/
介绍说明文档地址:http://cppcheck.sourceforge.net/manual.html#idp287040 - 安装
tar -zxvf cppcheck-1.90.tar.gz cd cppcheck-1.90 make & make install
- 下载
错误类型严重级别分类
- error:发现Bug时提示级别
- warning:建议预防程序中产生Bug的提示
- style:关系到代码整洁的编程风格提示
- performance :可以使代码运行更有效的建议提示
- portability :可移植性提示。64位兼容、可运行在不同编译器等等的移植性
- information :关于检查问题过程中的一些信息提示
默认情况下,只显示错误消息,可以通过--enable
命令启动更多的检查。
cppcheck --enable=warning file.c
检查文件夹中的所有文件
cppcheck path
如果 path 是一个文件夹,cppcheck 将递归检查这个文件夹中的所有源文件。
将结果保存到文件
可以使用shell命令将错误信息重定向到指定文件。
cppcheck file.c 2> err.txt
启用多线程检查
参数-j
用来确定你想要的线程数。
cppcheck -j 4 path
检查时排除某个文件或文件夹
可以利用-i
排除某些文件和文件夹
cppcheck -isrc/b -isrc/c src
这里不会检查 src/b 和 src/c 目录下的所有文件。
XML 输出
cppcheck 可以以 XML 格式的输出报告
cppcheck --xml-version=2 file1.cpp
集成jenkins
#最小的参数集
cppcheck --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
生成HTML报告
https://blog.csdn.net/bangtuo9862/article/details/101077818
https://www.cnblogs.com/dyllove98/p/3228543.html
网友评论