2

我已经完成了以下操作,但我的 .app 的 gcov 覆盖率仍然为 0%。这是我正在做的事情:

  1. 我正在使用 Xcode 3.2.6、GCC 4.2 并且在 Mac OSX 10.6 上。
  2. 我复制了 Debug 配置并将其称为 Gcov。在 Gcov 配置和应用程序目标中,我设置了以下构建配置:
    • 勾选“生成测试覆盖文件”
    • 检查“仪器程序流程”
    • 将“-lgcov”添加到“其他链接器标志”
  3. 我做了一个“全部清理”,然后我做了一个“构建并运行”。
  4. 一旦构建成功构建,它就会启动应用程序。我在应用程序中做了一些快速的事情并退出了。
  5. 当我查看 .gcda/.gcno 时,我看到它们已经生成,事实上,每次我启动应用程序并在应用程序中执行其他操作时,我都会看到 .gcda/.gcno 文件确实在更新。但是,使用 gcov/gcovr 查看 .gcda/.gcno 我一直得到 0 覆盖率。

关于我做错了什么的任何想法?谢谢你的帮助。

4

1 回答 1

3

检查您gcc是否真的 gccgcc --version. 在较新的 Mac 上,gcc现在链接到llvm-gcc,显然不支持gcov. 如果您发现是这种情况,请使用clang/clang++代替gcc/ g++

于 2011-12-24T22:04:39.780 回答