为什么运行gcov时会出现“退出块中有弧”的消息?

时间:2016-03-16 13:43:44

标签: gcov

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

2 个答案:

答案 0 :(得分:4)

这可能意味着您的gcno文件是使用更新/不同版本的gcc编译器生成的。看看在开始时你是否也有'版本'404 *'的警告,更喜欢'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

答案 1 :(得分:0)

我最近遇到了这个问题,除了@tutejszy 的回答之外,我还想添加一条信息

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

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