覆盖率:构建捕获百分比不合需要地为0%

时间:2017-02-21 17:43:45

标签: c static-code-analysis coverity

我使用Coverity来分析代码C.

config命令:

  

cov-configure --compiler /opt/toolchains/stbgcc-4.5.4-2.9/bin/mipsel-linux-uclibc-gcc --comptype gcc --config /opt/cov-analysis-linux64-7.5.1 /config/coverity_config.xml

配置步骤成功。

构建命令:

  

cov-build --dir ../platform/drivers --record-only --encoding EUC-KR sudo make platform FORCE = 1

当掩护版本完成时, 我在build-log中看到:cov-build实用程序已成功完成。 弹出窗口中的警告:

  

构建捕获百分比不合需要地为0%

error

然后我仍然分析数据:

分析命令:

  

cov-analyze --user-model-file>〜/ work / CoverityData / stdioUserModel.xmldb --parse-warnings-config>〜/ work / CoverityData / parse_warnings.conf --dir ../platform/ drivers /> - all --checker-option NO_EFFECT:extra_comma:0 -j 4

我得到了错误:

  

错误:中间目录不包含翻译单元。

我想构建步骤中的警告会在分析步骤中出错。

请帮我解决这个问题。

2 个答案:

答案 0 :(得分:1)

问题可能在于--record-only调用的cov-build部分 - 它捕获了编译器调用,但实际上并没有发出它们。尝试删除它,然后再试一次。或者,您可以使用cov-build --replay -j X重播这些编辑;一些警告适用,通常最好直接捕获编辑。

请注意,在构建命令中使用sudo非常危险,应该避免。真的有必要吗?

答案 1 :(得分:0)

您应该检查位于../platform/drivers/的build_log文件。 查找包含[错误]的行 - 可能存在查找头文件等错误。

另一种可能性是首先执行测试构建 - 这可能只能从IDE中执行 - 以确保正在正确调用构建