Coverity本地增量C/C++代码检查(Linux)操作--常见问题及解决方法

【关注我,后续持续新增专题博文,谢谢!!!】

上一篇我们讲了:Coverity本地增量C/C++代码检查(Linux)操作简介

        这一篇我们开始讲 Coverity本地增量C/C++代码检查(Linux)操作--常见问题及解决方法

目录

【关注我,后续持续新增专题博文,谢谢!!!】

一、背景

二、:Linux本地检查常见问题及解决方法

    2.1:安装Coverity后command not found

    2.2 :cov-run-desktop --setup报错

    2.3 :cov-build编译完之后捕获不到文件

    2.4 :提示版本不匹配

    2.5 :分析报错

    2.6 :生成html报告报错?

【关注我,后续持续新增专题博文,谢谢!!!】


一、背景

         .Linux本地检查常见问题及解决方法

二、:Linux本地检查常见问题及解决方法

    2.1:安装Coverity后command not found

执行source /etc/profile
然后再试一下cov-build,如果还是找不到此命令,可以手动设置变量PATH
export PATH=/work/coverity/analysis_2023_3.2/bin/:$PATH

    2.2 :cov-run-desktop --setup报错

1、需要检查coverity.conf文件里面host和stream配置的是否正确,host指的是Coverity的服务器的IP地址

2、需要检查authkey配置的有问题,即与Coverity服务端通信有问题。

1、检查 authkey目录是否存在以及权限是否为个人所有

ls -la ~/.coverity/authkeys/

2、如果开发本地很早之前安装的,有可能是authkey文件还是旧的,但是在原来的服务器上新搭建的Coverity desktop_check对应的key内容已经变了,重新安装一下

3、如果authkey文件已经是对的了,使用desktop_check登录一下Coverity查看该账号是否正常(有时候开发使用错的authkey尝试太多次导致该账号被锁)。如果账号被锁,联系工具方处理后重试

3、需要检查是因为之前该目录进行了Coverity扫描,但是中间目录(时间戳)太旧了,此时需要删除中间
目录如data-coverity目录 idir目录等,再次进行cov-run-desk --setup

4、如果出现如下报错:
[ERROR] Failed to download snapshot information for the specified date: HTTP code 500: Server replied with error: Stream "SM8350_S_20031_STREAM_C" does not exist or you do not have permission to access it.
错误原因:服务器上没有此数据流,coverity.conf文件配置内容有问题
解决方法:修改coverity.conf文件

    2.3 :cov-build编译完之后捕获不到文件

[WARNING] No files were emitted. This may be due to a problem with your configuration


[WARNING] Emitted 0 C/C++ compilation units (0%) successfully


代表编译完之后,没有捕获到文件。没办法进行下一步分析(只有捕获到的文件才能进行下一步分析)
还是跟编译底层原理相关,现在是先原生编译,然后再模块cov-build增量编译,cov-build是监控编译过程,会看真正有哪些文件参与编译了,然后就捕获到中间目录,之前其实也有开发
本地扫描出现过了,通过增量编译捕获不到文件的情况,全编肯定是能捕获到的

    2.4 :提示版本不匹配

To download and install the need version, run:
$ cov-run-desktop --upgrade 2023.3.2


首先,确认本地的coverity版本是否正确。目前coloros版本与coverity版本对应关系如下表,服务器如果没有安装,参考3.2.1章节 工具安装。
其次,本地需要配置对应的coverity版本,修改环境变量PATH,修改coverity.conf文件内compiler_config_file。
export PATH=/work/coverity/analysis_2023_3.2/bin/:$PATH
2024_3.0新版本(服务器已经自带新版本,需要配置一下工具PATH):
echo 'export PATH=/work/coverity/analysis_2024_3.0/bin/:$PATH' >>~/.bashrc && source ~/.bashrc

最后,删除idir,再执行

    2.5 :分析报错

1、要分析的文件没有被捕获
2、编译时完全没有捕获到文件

使用cov-manage-emit --dir idir list查看捕获到的文件列表,cov-run-desktop只能分析捕获范围内的文件
3、在解析的文件超过1千时,cov-run-desktop大概率会执行失败,虽然页面打印看并没有出错。需要指定文件重新分析

    2.6 :生成html报告报错?

这种情况下,生成报告是成功的,不是失败,请注意!打开index.html即可查看报告

【关注我,后续持续新增专题博文,谢谢!!!】

下一篇讲解

你可能感兴趣的:(Coverity本地增量C/C++代码检查(Linux)操作--常见问题及解决方法)