将 GCov 用于复杂项目的最佳方法是什么?

问题描述

我正在寻找一个复杂项目的代码覆盖率,例如:

├── build
│   ├── apps
│   ├── objects
│   ├── src
│   │   ├── core
│   │   │   └── memory
│   │   ├── cpu
│   │   │   ├── filtering
│   │   │   ├── mapjoin
│   │   │   │   └── hashtable
│   │   │   ├── pcv
│   │   │   ├── pcv_reduction
│   │   │   └── pcvtest
│   │   └── jni
│   └── test
├── include
├── src
├── test
       ├── main.cpp

等等。执行 main.cpp 后,我在文件夹中的 build 目录中得到 .gcda、.gcno 文件和 .o 文件,不一定与具有 .cpp 文件文件相同,但是这 3 种类型的文件位于同一目录中。现在为了在 main.cpp 上运行 gcov,我目前正在将所有 .gcno 和 .gcda 文件复制到与 main.cpp 相同的目录或文件夹中,然后调用 gcov。这给了我正确的代码覆盖率(在 main.cpp 中,我们只是对代码进行 Google 测试)。但是,如果我只复制对应于 main.cpp 的 .gcda 和 .gcno 文件,那么它会显示许多其他测试的覆盖率为 0%。我想知道除了上述两种方法之外,是否还有更好的方法来检查复杂项目中的代码覆盖率?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)