那些年关于Linux/c++代码覆盖率踩过的坑

Linux/c++代码覆盖率_问题积累

  • 1.编译失败?
  • 2.生成gcno文件失败?
  • 3.执行程序失败?
  • 4.生成gcda文件失败?
  • 5.生成的覆盖率信息是空信息?

1.编译失败?

  • 编译环境有问题;
  • 缺少依赖库;

2.生成gcno文件失败?

  • 编译时没有添加参数-fprofile-arcs -ftest-coverage;
  • 编译方式错误。【建议直接运行编译的脚本,不要直接执行make】

3.执行程序失败?

  • 缺少依赖库文件;
  • 缺少配置文件、秘钥、证书等其他

4.生成gcda文件失败?

  • 没有正常退出程序;
  • 文件目录被移动过;

5.生成的覆盖率信息是空信息?

  • 导致出现这个错误的原因是.gcda和.gcno文件并不是同一次build出来的,它们2个文件的时间戳就不一样了,故更新所有的.gcno文件即可。

你可能感兴趣的:(积累)