- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
是否可以通过运行链接到使用 --coverage
选项构建的共享库的可执行文件来生成 gcov 数据文件(.gcda
文件)?
基本上,我的主库由多个 c++ 文件编译到一个共享库中,然后是一个名为“test”的子目录,其中包含一个链接到并测试主库的测试程序。一切都编译得很好,并且为库源文件和测试源文件生成了 .gcno
文件。 .gcda
文件只是为测试源文件生成的,但对于编译到共享库中的实际源文件,我确实需要它们。
有什么想法吗?
附加信息:
最佳答案
我终于在 gcc 的帮助下解决了这个问题。请参阅此处的主题:http://gcc.gnu.org/ml/gcc-help/2010-09/msg00130.html .
事实证明,.gcda 文件被放置在 .libs 目录中,因为这是共享库 (.so) 文件所在的位置。为了让 gcov 产生输出,我必须将 .gcda 文件上移一级到源文件所在的位置。
另外,这里有一个类似的帖子,其他人也遇到了同样的问题:can gcov deal with shared object? .
关于c++ - gcov:从共享库生成 .gcda 输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3712908/
我有两个使用通用 C++ 类的主要函数。 文件 1: main.cpp #include #include "HelloAnother.h" int main() {
我正在尝试使用 iPhone 模拟器分析我的代码。我已启用生成测试覆盖率文件和仪器程序流程,并将-lgcov添加到链接器标志中。根据我读到的所有内容,这应该是我在设置方面需要做的全部事情。 更新:生成
我使用 gcov 进行代码覆盖率分析,并使用 lcov 生成覆盖率的图形输出。这对于至少已执行目标文件的某些部分的代码文件非常有效。我希望能够跟踪根本没有执行的文件。我怀疑这与没有为这些文件生成 .g
我目前面临为静态库的覆盖数据生成 .gcda 文件的问题。我可以获得大多数文件的覆盖率数据,但不是全部。 我将缺少覆盖率数据的目标文件称为 X。 一些注意事项: 我已经使用适当的标志编译了库和测试可执
我想使用 gcov 和 lcov 生成覆盖率报告。 到现在为止我做了什么 :- 1. I compiled my code using --fprofile-arcs and -fprofile-co
我有几个针对应用程序的单元测试,每个测试都能够生成 .gcda 文件。我希望能够生成统一的 .gcda 文件,这些文件代表整个测试套件的覆盖范围。似乎没有一种简单的方法可以做到这一点,但我可能是错的,
注意:这可以被视为 Gcov is not generating *.gcda file 的副本,但是: 这个问题没有答案 我认为 OP 的系统与我不同,所以我认为我只去编辑他的问题是不行的。而且,问
我正在尝试使用主目录中的 lcov 生成代码覆盖率报告。源代码使用 -coverage 选项编译,以在编译时生成覆盖率信息(创建 gcno 文件)。然后我将可执行文件和 gcno 文件复制到主目录。我
我正在尝试使用主目录中的 lcov 生成代码覆盖率报告。源代码使用 -coverage 选项编译,以在编译时生成覆盖率信息(创建 gcno 文件)。然后我将可执行文件和 gcno 文件复制到主目录。我
我尝试使用 -fprofile-arcs 和 -ftest-coverage 运行 gcov,但没有任何链接。 它给出了这个错误:- hidden symbol `__gcov_init' in /
我正在尝试生成 C 文件的覆盖范围(Yocto 项目)。 因此,我在大多数可用模块的 Makefile.am 中添加了 gcov 标志“-g -O0 --coverage”。 它在编译每个带有覆盖标志
我已经尝试了很多我创建的解决方案,但都没有奏效。我正在为一个项目编写一个新代码,但是这段代码被很多硕士和博士学位所触动,他们不在乎使其可读性。因此,确实有很多东西没有用,甚至没有用过。 然后我开始关注
是否可以通过运行链接到使用 --coverage 选项构建的共享库的可执行文件来生成 gcov 数据文件(.gcda 文件)? 基本上,我的主库由多个 c++ 文件编译到一个共享库中,然后是一个名为“
我有相同的源文件(C 和 Obj-C)被编译成两个目标:单元测试可执行文件和实际产品(然后进行集成测试)。这两个目标构建到不同的位置,因此目标文件、.gcno 和 .gcda 文件是分开的。并非所有源
我想知道当 iOS 应用程序在 Xcode 机器人上运行单元测试时如何生成 gcda 文件。 我用了this blog配置 Xcode 以生成测试覆盖率文件并使用利用 lcov 的脚本生成报告。我可以
最近我一直在尝试使用 gcc/gcov 对 C++ 项目进行代码覆盖率测试。该项目由主模块和几个.so库组成,都应该进行测量。 我已经用 gcc 编译了带有 --coverage 参数的所有模块,并将
我有一个用 Cmake 编译的项目。我使用 Gcov 来了解在目标上执行期间的代码覆盖率。我使用 GCOV_PREFIX 来更改 .gcda 文件的目录。但是我在这个目录中只有 45 个 .gcda
我手头有一个带有 cmocka 测试的 C 项目,它是使用 CMake 构建的。现在我尝试使用 gcov 来确定测试覆盖率并使用此 CMake 模块:https://github.com/bilke/
问题: 我正在使用以下标志生成我的 Qt 应用程序(.pro 文件)的代码覆盖率: QMAKE_CXXFLAGS += --coverage QMAKE_LFLAGS += --coverage 代码
执行摘要:我想使用 GDB 来提取存储在我的嵌入式目标内存中的覆盖执行计数,并使用它们来创建 .gcda文件(用于输入 gcov/lcov)。 设置 : 我可以成功地交叉编译我的二进制文件,以我的特定
我是一名优秀的程序员,十分优秀!