26得票1回答
能否使用gcov/gcovr合并来自两个可执行文件的覆盖率数据?

在一个项目中,我正在运行三个不同选项编译的可执行文件上的测试用例。根据选项,某些代码路径会被采取或不采取。目前,我只使用一个可执行文件的覆盖率数据。 我正在使用 gcovr 生成一个 XML 文件,然后通过 Sonar 解析:gcovr -x -b -r . --object-directo...

25得票4回答
XCode 5.1对使用块的文件进行单元测试覆盖率分析失败

今天我的任务是为我们的代码库添加单元测试覆盖率分析。今天也是iOS 7.1与XCode 5.1发布的日子。从发布说明中可以看到: “用于代码覆盖率测试的gcov工具已被重新实现。新版本使用LLVM项目中的llvm-cov工具。对于所有重要功能,它在功能上等同于旧版本。gcov在Xcode中的...

24得票4回答
Gcov内存不足/版本不匹配?

我正在尝试启动gcov,但遇到以下错误:$ gcov src/main.c -o build build/main.gcno:version '404*', prefer '407*' gcov: out of memory allocating 14819216480 bytes afte...

22得票3回答
Swift已经支持代码覆盖率了吗?

我正在尝试在Xcode 6 Beta 4上为Swift应用程序设置测试代码覆盖率。 过去我能够在Xcode 5中使用ObjectiveC做到这一点,但我认为我必须调用void __gcov_flush()方法来触发生成.gcda/.gcno文件。 我将仪器和代码覆盖率的两个属性都设置为YES,...

21得票1回答
gcov警告:总结合并不匹配

有人能告诉我 "Merge mismatch for summaries" 这个 gcov 信息是什么意思吗?我在 gcc 源代码中找到了这个消息。 它似乎是一个检查,用于确保 .gcda 文件中的标记匹配,但我不确定。 有人知道如何解决这个问题吗?

19得票1回答
gcc/gcov是否可以将覆盖率统计信息输出到源文件夹以外的位置?

在使用gcc编译时加上-fprofile-arcs和-ftest-coverage参数后,当生成的可执行文件终止运行时,会尝试在与编译可执行文件使用的.o文件相同的位置创建.gcda输出文件。如果我在不同的机器上运行程序,这样做就很不方便了。有没有办法改变这种行为呢?

18得票5回答
gcov: 无法打开图形文件

我正在尝试使用gcov。我有一个简单的文件a.c:int main() { return 0; } 所以我这样做gcc -fprofile-arcs -ftest-coverage a.c -o a ./a gcov a.c 然后我得到了a.gcno:cannot open graph ...

17得票4回答
使用单独的构建目录在CMake中使用gcov

我在使用gcov时遇到了问题。编译和链接过程中没有出现错误,但是当我运行可执行文件时,没有生成任何覆盖率数据。 我正在使用CMake和一个单独的构建目录,在这个目录下通过以下方式向编译器和链接器传递标志:add_definitions(--coverage) set(CMAKE_EXE_LI...

17得票5回答
有哪些支持模板的最佳C++代码覆盖率工具?

我曾使用gcov来测试代码覆盖率,但对于模板化的C++代码而言,效果不是很好。我广泛使用boost::spirit,但gcov似乎会简单地忽略模板化的spirit代码。 此外,我想知道是否有一种覆盖工具可以显示线程之间的交互,找出可能的分支/竞争条件/实际执行的执行流。

15得票5回答
使用gcov,是否可以合并两个.gcds文件?

我有相同的源文件(C和Obj-C)编译成两个目标:单元测试可执行文件和实际产品(然后进行集成测试)。 两个目标构建到不同的位置,因此对象文件、.gcno和.gcda文件是分开的。 并非所有源文件都编译到单元测试中,因此并非所有对象都存在于其中。 所有源文件都编译到产品构建中。 有没有一种方法...