gcov相关内容

如何在嵌入式上进行代码覆盖

我为非 POSIX 嵌入式系统编写了一个项目,所以我不能使用 gcc 选项 --coverage(我没有读或写).我还能做些什么来产生类似 gcov 的输出.我确实有输出功能. 解决方案 它可以通过具有嵌入式跟踪的处理器、暴露跟踪端口的电路板设计以及合适的硬件调试器和相关软件来轻松完成.例如,许多基于 Cortex-M 的设备包括 ARM 的嵌入式跟踪宏单元 (ETM),Keil 的 uV ..
发布时间:2022-01-25 12:53:44 其他开发

是否可以将来自两个可执行文件的覆盖率数据与 gcov/gcovr 合并?

在一个项目中,我在三个不同的可执行文件上运行测试用例,并使用不同的选项进行编译.根据选项,是否采用某些代码路径.现在,我只使用来自一个可执行文件的覆盖率数据. 我正在使用 gcovr 生成一个 XML,然后由 Sonar 解析: gcovr -x -b -r .--object-directory=调试/测试>覆盖报告.xml 我有三组 gcda 和 gcno 文件,但我不知道如何生成它 ..
发布时间:2022-01-23 21:01:49 其他开发

并行运行时使用 gcov 的代码覆盖率

我使用 gcov 为项目中的几个文件设置了 C/C++ 代码覆盖率.可执行文件并行运行.这会导致一些共享代码并行运行. 我收到损坏的 .da 文件或零大小的 .da 文件.这是并行运行的问题吗? 因为两个或多个可执行实例试图在同一个 .da 文件上写入,以便为每个执行中的语句写入覆盖计数? 如果是这样,有什么解决方法吗? 使用的 Gcov 版本是 1.5 解决方案 ..
发布时间:2021-06-14 18:51:44 C/C++开发

了解gcov文件中的块

我试图了解gcov工具的输出.使用-a选项运行它很有意义,并且想了解块覆盖率选项.不幸的是,很难理解这些障碍物是做什么的以及为什么不使用它们.下面是输出. 我曾经在我的计算器程序中运行过一次添加功能.我不知道为什么它显示为block0. -:0:Source:calculator.c-:0:Graph:calculator.gcno-:0:Data:calculator.gcda-:0:运 ..
发布时间:2021-04-22 20:44:26 其他开发

iPhone:无法获得模拟器来生成.gcda分析数据文件

我正在尝试使用iPhone模拟器来分析我的代码.我已启用 Generate Test Coverage File (生成测试覆盖文件)和 Instrument Program Flow (仪器程序流),并将 -lgcov 添加到了链接器标志.根据我读到的所有内容,这应该是我在设置时需要做的所有事情. 更新:生成测试覆盖率文件触发 -ftest-coverage 标志,仪器程序流触发 -fpr ..
发布时间:2021-02-08 21:27:20 移动开发

gcov最终链接失败

使用gcov支持编译项目时,我遇到以下错误 以下是我在编译时拥有的标志信息 编译器标志: CXXFLAGS="-Wno-deprecated -g -ggdb -fprofile-arcs -ftest-coverage -fPIC" 链接器选项: LINK_CMD="gcc -fprofile-arcs -fPIC" 以下是版本信息: gcc版本: g ..
发布时间:2020-11-12 23:47:42 其他开发

使用gcov进行交叉分析,但是忽略了GCOV_PREFIX和GCOV_PREFIX_STRIP

我想使用GCOV进行代码覆盖,但是测试将在另一台计算机上运行.因此,可执行文件中.gcda文件的硬连线路径将不起作用. 为了更改此默认目录,我可以使用GCOV_PREFIX和GCOV_PREFIX_STRIP环境变量,如这是我使用的命令: $ export GCOV_PREFIX="/foo/bar" $ export GCOV_PREFIX_STRIP="3" $ gcc main. ..
发布时间:2020-11-12 23:12:25 其他开发

为什么CMake忽略源文件?

不幸的是,我编写的 CMakeLists.txt 文件仅为头文件和测试脚本创建了覆盖率统计信息,而没有为源文件创建覆盖率统计信息。但是,我想了解源文件的覆盖率信息。我在做什么错了? 例如,以下是头文件: class.h #include #include #include Class StrVec { publi ..
发布时间:2020-10-04 20:45:41 C/C++开发

在运行时转储gcov数据

我正在使用gcov收集我正在从事的C项目的代码覆盖率数据。我知道,一旦完成后程序退出,gcov将转储代码覆盖率数据。如何收集长时间运行的进程的gcov数据。 (例如,我的程序是操作系统的内核,该操作系统在永不关闭的服务器中运行-我需要为其收集代码覆盖率数据)。有什么方法可以定期(例如,每1小时一次)或在某些事件下制作gcov转储代码覆盖率数据-如何触发gcov转储代码覆盖率数据(而不是在程序终止后 ..
发布时间:2020-10-04 20:34:25 其他开发

如何找到使用dlopen()打开的库的覆盖范围?

我有一个C ++库(.so),该库由另一个应用程序使用dlopen()打开。但是我需要在使用gcov在应用程序中运行时找到该库的代码覆盖率。可能吗?如果是,该怎么办? 如果没有,该如何解决? 解决方案 是。可以生成由 dlopen 加载的共享库的覆盖范围。 1)使用标志 -fprofile-arcs -ftest-coverage $ b $编译共享库b 2)编译使用 d ..
发布时间:2020-10-04 20:34:11 C/C++开发

GCOV的代码覆盖范围无法生成.gcda文件

我想获取有关GCOV的代码,我通过 http://developer.apple.com/library/mac/#qa/qa2007/qa1514.html 添加“ -lgcov”到“其他链接器标志” 检查“仪器程序流” 检查“生成测试覆盖率文件” 但是我无法生成.gcda文件,有人可以帮忙吗? 解决方案 模拟器必须在生成gcda文件之前关闭。因此,当我运行GHUnit时 ..
发布时间:2020-10-04 20:34:10 其他开发

在C ++代码中查找未实例化的模板

在C ++代码中查找未实例化模板的最佳方法是什么? 我有一个大量使用模板的代码库。 当然,我们要确保测试覆盖率很高。 对于所有使用的代码,使用 gcov 效果很好。 但是,会报告未使用的模板 经过一段时间的搜索之后,似乎没有办法强制 g ++ 为这些模板发出代码(这只是逻辑上的,编译器应该如何猜测任何类型?) 看来也没有办法使gcov识别出未实例化的模板代码作为可运行代码。 ..
发布时间:2020-10-04 20:31:35 C/C++开发

代码覆盖范围已经适用于Swift吗?

我正在尝试在Xcode 6 Beta 4上为Swift应用程序设置测试代码覆盖率。 我过去曾经能够将ObjectiveC与Xcode 5结合使用,但是我想我必须打电话 void __gcov_flush()方法,以触发.gcda / .gcno文件的生成。 我将用于检测和代码覆盖的属性都设置为是用于应用程序和测试目标。 但是运行测试后,当我查看以下内容: DerivedDa ..
发布时间:2020-10-04 20:28:14 移动开发

gcovr和Xcode 5的代码覆盖不起作用

我正在使用gcovr为cobertura生成代码覆盖率。 xcode 4.6一切正常。现在我更新到xcode5,得到的所有内容都是0%覆盖率... 我的设置: gcovr 3.0 Xcode 5(Apple LLVM 5) “生成测试覆盖率文件”设置为“是” “仪器程序流”设置为YES 并命令我使用: gcovr -r。 --object目录Build / Int ..
发布时间:2020-10-04 20:25:34 移动开发

gcov可以处理共享库吗?

我最近正在使用gcov收集代码覆盖率信息。 gcov在可执行应用程序中表现良好:),但是当我尝试加载.so文件时,出现此错误:未知符号__gcov_merge_add。 然后我在Google和有人说将-lgcov添加到链接标志(LDFLAGS),我确实添加了此选项,但它不起作用。我还尝试在链接标志中使用--coverage选项,无法摆脱此错误。 有人可以帮助解决此问题吗? 谢谢。 ..
发布时间:2020-10-04 20:18:30 其他开发

代码覆盖警告垃圾邮件输出

在CMake测试配置中,我添加了标记以生成代码覆盖率 IF(“ $ {CMAKE_CXX_COMPILER_ID }“ STREQUAL” Clang“或 ” $ {CMAKE_CXX_COMPILER_ID}“ STREQUAL” GNU“) SET(CMAKE_CXX_FLAGS” $ {CMAKE_CXX_FLAGS} -g -O0 -fprofile-arcs -ftest-co ..
发布时间:2020-10-03 21:16:55 C/C++开发

CMake Gcov C ++创建错误的.gcno文件

我在其中添加了CMakeLists.txt文件: set(CMAKE_CXX_FLAGS“ -fprofile-arcs -ftest- coverage -pthread -std = c ++ 11 -O0 $ {CMAKE_CXX_FLAGS}“) 正在生成报告文件位于: project_root / build / CMakeFiles / project ..
发布时间:2020-10-03 20:06:05 C/C++开发