gcov 不生成覆盖率文件
我正在 32 位机器上使用 -fprofile-arcs -ftest-coverage 标志交叉编译我的可执行文件以进行覆盖。我在 64 位目标机器上运行生成的可执行文件。
当我运行可执行文件时,它不会生成 .bb .bbg 和 .da 文件。可能是什么原因呢。
I am cross compiliing my executable for coverage using -fprofile-arcs -ftest-coverage flags on a 32 bit machine . And the resulting executable I am running it on target machine which is 64-bit.
When I run the executable it does not generate .bb .bbg and .da files. What can be the reason for it.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
最可能的原因是数据文件是在与编译相同的目录中生成的,该目录可能无法在执行测试的目标平台上访问或写入。
在最近的 gcc 版本中,环境变量 GCOV_PREFIX 和 GCOV_PREFIX_STRIP 可用于覆盖默认目录。
Most probable reason is that the data files are generated in the same directory as the compile which may not be accessible on, or not writable from, the target platform where the test is executed.
With decently recent gcc version, environment variables GCOV_PREFIX and GCOV_PREFIX_STRIP can be used to override the default directory.