c++ - GCOV-在其他文件夹中生成的gcda文件

标签 c++ code-coverage gcov

资料夹结构
〜/沙盒/ dev
〜/沙盒/测试

  • 我在dev目录中有main.cpp。我使用--coverage标志编译了代码以生成代码覆盖率。
    现在,将生成a.out和main.gcno文件。
  • 现在我将main.cpp,main.gcno和a.out复制到测试目录
  • 当我从测试目录运行a.out时,main.gcda文件在dev文件夹而不是当前工作目录中生成。

  • 似乎该路径在二进制/ gcno中是硬编码的。
    需要进行哪些更改才能在测试目录中生成gcda文件?

    最佳答案

    By default, the .gcda files are also stored in the same directory as the object file, but the GCC -fprofile-dir option may be used to store the .gcda files in a separate directory.


    https://gcc.gnu.org/onlinedocs/gcc/Gcov-Data-Files.html
    -fprofile-dir tag in GCOV utility

    关于c++ - GCOV-在其他文件夹中生成的gcda文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63360206/

    相关文章:

    code-coverage - Haxe 中的代码覆盖率

    code-coverage - GCOV 交叉分析 : __gcov_flush() does not flush coverage data for shared libraries

    C++ 流对象线程安全吗?

    android - 将 STL 与 Android NDK 一起使用时出现 Eclipse 索引器错误

    code-coverage - 验收测试和代码覆盖率

    c++ - lcov,报告未测试 header 的覆盖率为 0%

    c++ - GCOV:使用 GCC 构建时 --coverage 和 --ftest-coverage 有什么区别?

    C++ std::set 比较器

    C++:计算每次迭代期间的概率百分比

    c# - IIS 托管 WCF 服务 : Integration tests and code coverage