Clang 铿锵代码覆盖率无效输出

Clang 铿锵代码覆盖率无效输出,clang,code-coverage,clang++,Clang,Code Coverage,Clang++,因此,我按照以下说明检查并构建了叮当作响的主干。我可以用--coverage构建二进制文件并运行它来获取.gcno和.gcda文件,但是当我运行lcov时,我得到了“GENINFO:…到达了意外的文件结尾” 现在我被困住了,所以来这里寻求帮助:) 我正在使用Ubuntu13.04并编写c++11,以防万一会有所不同。我在Ubuntu13.04上使用lcov时遇到了同样的问题。 这是一个在不止一个Ubuntu设置上对我有效的解决方案 你会发现Ubuntu上有两个版本的gcov。gcov-4.6.4

因此,我按照以下说明检查并构建了叮当作响的主干。我可以用--coverage构建二进制文件并运行它来获取.gcno和.gcda文件,但是当我运行lcov时,我得到了“GENINFO:…到达了意外的文件结尾”

现在我被困住了,所以来这里寻求帮助:)


我正在使用Ubuntu13.04并编写c++11,以防万一会有所不同。

我在Ubuntu13.04上使用lcov时遇到了同样的问题。 这是一个在不止一个Ubuntu设置上对我有效的解决方案

  • 你会发现Ubuntu上有两个版本的gcov。gcov-4.6.4和gcov-4.7.3。默认情况下,gcov链接设置为gcov-4.7.3。将其更改为gcov-4.6.4
  • 此外,使用lcov 1.10版,而不是apt get install提供的版本
  • 这将生成代码覆盖率报告


    编辑:我的是从Ubuntu 12.04升级到13.04。以防万一你看不到gcov的两个版本。

    只要总结一下@Himanshu已经分享的答案的步骤,以防有人在寻找正确的步骤:

    安装GCC4.6

    sudo apt get安装-y gcc-4.6

    我找不到现成的locv 1.10版本,所以我自己编译了它:

    git克隆https://github.com/linux-test-project/lcov.git

    cd-lcov

    切换到以发布lcov 1.10版本的提交为基础的新分支

    git签出-b1_10 b5c1bdd

    编译lcov

    sudo make安装

    确认安装的lcov为1.10

    lcov--版本

    完成所有这些操作后,请使用以下命令:

    lcov--gcov工具/usr/bin/gcov-4.6--capture-d gcov_data/-o gcov_data/coverage.info

    这样可以避免修补系统上默认的
    gcov
    链接

    然后生成可视覆盖率文件

    genhtml-o gcov_数据/html gcov_数据/coverage.info


    其中
    gcov_data
    是包含
    gcno
    gcda
    文件的文件夹。

    谢谢。我必须
    sudo安装gcc-4.6
    才能获得gcov 4.6.4,但它现在可以工作了。