初试Coverity对C++代码的静态检查
之前一直在使用一个版本的goanna做C++静态代码,前两天搞到一套Coverity,尝试安装了一下,发现Coverity检查功能还是挺强大,之前goanna未检查出得一些问题它检查出来了,比如
if ((x & 0×80) == 1)) {
}
这么一个判断代码,之前的goanna就没有报出问题,这个Coverity就报出了一个无效语句的问题,一下子发现等于的判断条件写错了。
Coverity的简单使用流程
第一步, 使用 cov-build 捕获代码Build过程涉及到得文件
./cov-build --dir . make
第二步, 使用 cov-analysis 对捕获的结果做代码分析(分析在cov-build步骤捕获到得相关代码文件)
./cov-analysis --dir .
第三步, 使用 cov-format-errors 输出html格式的分析结果,方便查看出问题得代码位置做代码修订。(这一步也可以使用 cov-commit-defects 提交分析结果到中心服务器,没有安装 platform 没有做效果尝试)
./cov-format-errors --dir . --html-output ./html
打开html目录下的 index.html 即可查看分析结果。
Popularity: 13% [?]