我正在寻找与基于 XCode 6.1 的项目一起使用的 HTML 代码覆盖率报告。我的解决方案“部分有效”,但是在运行 lcov 时我得到了很多跳过的文件:
geninfo: file found unrecognized record format - skipping
关于我的设置的更多细节:
通过这些说明(步骤 1+2)创建了 XCode“覆盖”配置: https ://developer.apple.com/library/ios/qa/qa1514/_index.html
使用此配置通过
xcodebuild
.
这似乎成功地为我的每个源文件生成GCNO
文件和GCDA
文件。到目前为止,一切都很好。
运行
lcov
(v1.11) 以生成 HTML 报告。我正在使用的命令如下所示:lcov --capture --derive-func-data --directory ./build/Coverage/MyCppRunner.build --output-file lcov-testrun.info --ignore-errors graph
由于ignore-errors
参数,这也成功了。但是,我收到很多跳过的 gcno 文件,并出现以下错误:
geninfo: WARNING: /Users/myname/build/Coverage/MyCppRunner.build/Objects-normal/x86_64/MyFile.gcno: found unrecognized record format - skipping
当我通过 生成我的 HTML 报告时genhtml
,这些文件不显示任何覆盖范围。
有没有办法解决这个问题?也许是一组不同的clang
标志,或者是lcov
? 我短暂地尝试过gcovr
,但我无法让它工作。