我使用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%
然后我仍然分析数据:
分析命令:
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
我得到了错误:
错误:中间目录不包含翻译单元。
我想构建步骤中的警告会在分析步骤中出错。
请帮我解决这个问题。
答案 0 :(得分:1)
问题可能在于--record-only
调用的cov-build
部分 - 它捕获了编译器调用,但实际上并没有发出它们。尝试删除它,然后再试一次。或者,您可以使用cov-build --replay -j X
重播这些编辑;一些警告适用,通常最好直接捕获编辑。
请注意,在构建命令中使用sudo
非常危险,应该避免。真的有必要吗?
答案 1 :(得分:0)
您应该检查位于../platform/drivers/的build_log文件。 查找包含[错误]的行 - 可能存在查找头文件等错误。
另一种可能性是首先执行测试构建 - 这可能只能从IDE中执行 - 以确保正在正确调用构建