【问题标题】:Why do I get "has arcs from exit block" messages when running gcov?为什么我在运行 gcov 时会收到“退出块有弧”消息?
【发布时间】:2016-07-02 10:30:08
【问题描述】:

我正在运行 gcov 来测量覆盖率,但对于我在 c 代码中使用的每个函数,我都会收到“有退出块的弧”消息。这条消息有问题吗?我应该忽略它们吗?

【问题讨论】:

    标签: gcov


    【解决方案1】:

    我最近遇到了这个问题,想在@tutejszy的回答之外补充一点信息

    如果您正在交叉编译您的代码(或使用不是默认安装的工具链),您将需要使用这个特定的工具链 gcov。

    如果您想在刚刚创建的 gcov 对象上使用 lcov,则需要在运行 lcov 时使用选项 --gcov-tool <path to gcov> 指定工具链 gcov 的路径

    【讨论】:

      【解决方案2】:

      这可能意味着您的 gcno 文件是使用更新/不同版本的 gcc 编译器生成的。看看一开始你是否也有类似'version '404*', prefer '402*'之类的警告,如果是,解决方案如下:

      检查g++ --versiongcov --version 是否给您相同的结果。如果没有,请更新您的工具,例如 sudo apt-get install gcov,或特定版本,例如 `sudo apt-get install gcc-4.7。

      如果您有多个版本的 gcc 安装程序,您可以使用 update-alternatives 在它们之间切换:

      查询(你有什么)例如:sudo update-alternatives --query gcc

      添加/进行更改示例:sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 60

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-08-11
        • 1970-01-01
        • 1970-01-01
        • 2021-04-06
        • 2017-11-27
        • 1970-01-01
        • 2015-01-25
        • 1970-01-01
        相关资源
        最近更新 更多