繁体   English   中英

在检测的图像上运行功能测试用例时,不会生成gcda文件

[英]gcda files are not generated while running the functional test cases on the instrumented image

我正在尝试生成C文件的覆盖范围(Yocto项目)。

因此,我在大多数可用模块的Makefile.am中添加了gcov标志“ -g -O0 --coverage”

它在每个带有覆盖标志的模块编译期间生成了“ .gcno”文件。

我已经从所有这些模块生成了映像,并将其加载到测试设备中并运行了功能测试用例。

我可以使用字符串命令从运行测试设备的进程中找到“ gcda”文件的路径。

因此,在将进程ID附加到gdb之后,我已经使用gdb模式使用“ __gcov_flush”命令来刷新覆盖率。

这将引发错误“当前上下文中没有符号__gcov_flush”。 请建议我这个错误的可能原因。

根据评论,不可能直接使用Coverage Compiler标志构建Linux内核并假设获得有意义的coverage指标。

代码覆盖率指标实际上要求某些文件系统可用于写入运行时覆盖率数据(即* .gcda文件)。

如果要启用Linux内核的代码覆盖率,则这里提供了有关如何使用GCOV虚拟文件系统来启用支持以收集覆盖率指标的文档。

同样,假设您要针对其他体系结构进行交叉编译,那么在执行后捕获* .gcno文件之后,可能必须使用跨gcov工具收集覆盖率指标。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM