9得票2回答
如何从这些输出中获取实际的函数名称

我使用boost test进行单元测试,使用gcov和lcov来衡量覆盖率。 不幸的是,genhtml为函数覆盖率生成了以下报告: 我现在想知道函数_ZN7UtilLib11ProgressBarC2EjdRSo实际上是什么。 到目前为止,我无法将此函数与ProgressBar的任何...

8得票2回答
如何在CMake中使用gcov

我在跟随这篇指南(在另一篇帖子中推荐过)时遇到了困难,涉及IT技术。以下是需要翻译的内容:https://github.com/bilke/cmake-modules/blob/master/CodeCoverage.cmake 首先,请将此文件复制到您的cmake模块路径中。如何确定我的c...

13得票1回答
gcov在Clang和GCC上产生不同的结果

我正在尝试通过使用CMake、googletest和gcov进行测试覆盖,以正确地构建C++项目的结构。我想要构建一个通用的CMakeLists.txt,可以适用于任何平台/编译器。 这里是我的第一次尝试。然而,如果我尝试构建项目,然后运行lcov(生成报告),我会发现如果我使用CLang(正...

12得票1回答
我该如何告诉 lcov 去哪里找我的 .cpp 和 .h 文件?

我的源代码和构建目录如下(参见Makefile to put object files from source files different directories into a single, separate directory?),经过make编译和运行FooAndBarTests之后...

11得票3回答
使用gcov进行代码覆盖率分析的并行运行

我已经为项目中的几个文件设置了C/C++代码覆盖率,使用gcov进行覆盖率测试。 可执行文件正在并行运行。这导致一些共享代码被并行运行。 我得到了损坏的.da文件或大小为零的.da文件。这是并行运行时的问题吗? 因为两个或多个可执行实例都试图在同一个.da文件上写入覆盖率计数,以记录每个...

7得票2回答
如何在当前/构建/运行目录之外的源文件中使用gcovr?

mkdir -p /tmp/build && cd /tmp/build && mkdir -p /tmp/src && echo "int main(){return 0;}" > /tmp/src/prog.c && g...

7得票1回答
了解 gcov 文件中的分支

我正在努力理解gcov工具的输出。运行它没有选项是有意义的,但我想尝试理解分支覆盖率选项。不幸的是,很难理解这些分支是什么以及为什么它们没有被执行。下面是一个方法的输出(使用最新的LLVM / Clang构建进行编译)。 function -[TestCoverageAppDelegate ...

8得票3回答
GCC的代码覆盖率选项是如何工作的?

考虑以下命令: gcc -fprofile-arcs -ftest-coverage main.c 它生成文件main.gcda,供gcov使用以生成覆盖率分析报告。 那么如何生成main.gcda?如何进行插桩?我能看到插桩后的代码吗?

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

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

67得票8回答
Gcov符号在哪里?

我正在尝试使用gcov编译一个简单的应用程序,但是出现了以下链接错误:gcc AllTests.o CuTestTest.o CuTest.o -o TestTest AllTests.o: In function `global constructors keyed to 0_RunAllT...