为什么我在 运行 gcov 时收到 "has arcs from exit block" 消息?
Why do I get "has arcs from exit block" messages when running gcov?
我是 运行 gcov 来测量覆盖率,但我在 c 代码中使用的每个函数都收到 "has arcs from exit block" 消息。这条消息有什么问题吗?我应该忽略它们吗?
这可能意味着您的 gcno 文件是使用 newer/different 版本的 gcc 编译器生成的。看看你是否在开始时也有类似'version'404*'的警告,更喜欢'402*'如果是,解决方案如下:
检查 g++ --version
和 gcov --version
是否给您相同的结果。如果没有,请更新您的工具,例如 sudo apt-get install gcov
,或特定版本,例如 `sudo apt-get install gcc-4.7。
如果您有多个版本的 gcc 安装程序,您可以使用 update-alternatives 在它们之间切换:
查询(你有什么)例子:sudo update-alternatives --query gcc
.
Add/make 更改示例:sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 60
我最近遇到了这个问题,除了@tutejszy 的回答还想补充一点信息
如果您正在交叉编译您的代码(或使用不是默认安装的工具链),您将需要使用这个特定的工具链 gcov。
如果您想在刚刚创建的 gcov 对象上使用 lcov,您需要在 运行 lcov
时使用选项 --gcov-tool <path to gcov>
指定工具链 gcov 的路径
我是 运行 gcov 来测量覆盖率,但我在 c 代码中使用的每个函数都收到 "has arcs from exit block" 消息。这条消息有什么问题吗?我应该忽略它们吗?
这可能意味着您的 gcno 文件是使用 newer/different 版本的 gcc 编译器生成的。看看你是否在开始时也有类似'version'404*'的警告,更喜欢'402*'如果是,解决方案如下:
检查 g++ --version
和 gcov --version
是否给您相同的结果。如果没有,请更新您的工具,例如 sudo apt-get install gcov
,或特定版本,例如 `sudo apt-get install gcc-4.7。
如果您有多个版本的 gcc 安装程序,您可以使用 update-alternatives 在它们之间切换:
查询(你有什么)例子:sudo update-alternatives --query gcc
.
Add/make 更改示例:sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 60
我最近遇到了这个问题,除了@tutejszy 的回答还想补充一点信息
如果您正在交叉编译您的代码(或使用不是默认安装的工具链),您将需要使用这个特定的工具链 gcov。
如果您想在刚刚创建的 gcov 对象上使用 lcov,您需要在 运行 lcov
时使用选项--gcov-tool <path to gcov>
指定工具链 gcov 的路径