如何配置Coverity 2019.3禁用MISRA-C 2004 Rule 2.2规则
Coverity 2019.3 禁用MISRA-C 2004 Rule 2.2的配置方法
针对Windows 10 + IAR 8.4 + Coverity 2019.3的部署环境,cov-analyze的--disable参数仅支持关闭整个检查器,单条MISRA规则的启停需要通过规则过滤参数或自定义MISRA规则配置文件实现,具体操作有两种可选方案:
方案1:命令行直接追加单规则排除参数(临时/快速修改场景)
执行cov-analyze时,在原有参数基础上追加--exclude-rule "MISRA C 2004 Rule 2.2"即可,该参数仅过滤指定的单条规则,不会影响其他MISRA-C 2004规则的正常检查。
参考命令示例:cov-analyze --dir <你的Coverity构建中间目录路径> --misra-config 2004 --exclude-rule "MISRA C 2004 Rule 2.2" <原有其他分析参数,比如IAR编译器适配参数等>方案2:修改MISRA规则配置文件(固定规则集/团队统一配置场景)
- 导出Coverity内置的MISRA-C 2004默认配置文件,在Coverity安装路径的
bin目录下执行命令:cov-misra-config --export --version 2004 --output custom_misra2004.xml - 打开生成的
custom_misra2004.xml文件,搜索定位到Rule 2.2对应的配置节点,将节点的enabled属性值从true修改为false后保存文件。 - 后续执行分析时,将原命令中调用默认MISRA 2004规则集的参数,替换为指向自定义配置文件的参数即可:
cov-analyze --dir <你的Coverity构建中间目录路径> --misra-config <custom_misra2004.xml的完整存放路径> <原有其他分析参数>
- 导出Coverity内置的MISRA-C 2004默认配置文件,在Coverity安装路径的
验证提示:配置完成后可以用包含
//形式行注释的测试文件跑一次分析,确认结果中不再出现Rule 2.2的违规告警,其余MISRA规则告警正常输出,即代表配置生效。
内容的提问来源于stack exchange,提问作者Thomas Matthews
相关产品推荐
相关产品推荐

