Lines Matching refs:gcov
3 :Original: Documentation/dev-tools/gcov.rst
6 在Linux内核里使用gcov做代码覆盖率检查
9 gcov分析核心支持在Linux内核中启用GCC的覆盖率测试工具 gcov_ ,Linux内核
10 运行时的代码覆盖率数据会以gcov兼容的格式导出到“gcov”debugfs目录中,可
11 以通过gcov的 ``-o`` 选项(如下示例)获得指定文件的代码运行覆盖率统计数据
15 # gcov -o /sys/kernel/debug/gcov/tmp/linux-out/kernel spinlock.c
18 在获得这些统计文件后,可以使用图形化的gcov前端工具(比如 lcov_ ),来实现
82 gcov功能需要在debugfs中创建如下文件:
84 ``/sys/kernel/debug/gcov``
85 gcov相关功能的根路径
87 ``/sys/kernel/debug/gcov/reset``
88 全局复位文件:向该文件写入数据后会将所有的gcov统计数据清0
90 ``/sys/kernel/debug/gcov/path/to/compile/dir/file.gcda``
91 gcov工具可以识别的覆盖率统计数据文件,向该文件写入数据后
92 会将本文件的gcov统计数据清0
94 ``/sys/kernel/debug/gcov/path/to/compile/dir/file.gcno``
95 gcov工具需要的软连接文件(指向编译时生成的信息统计文件),这个文件是
103 gcov提供了一种机制,通过保留相关数据的副本来收集这部分卸载模块的覆盖率数据。
107 可以通过对内核参数gcov_persist的修改来停用gcov对模块的备份机制::
111 在运行时,用户还可以通过写入模块的数据文件或者写入gcov复位文件来丢弃已卸
118 gcov的内核分析插桩支持内核的编译和运行是在同一台机器上,也可以编译和运
120 如果内核编译和运行是不同的机器,那么需要额外的准备工作,这取决于gcov工具
125 a) 若gcov运行在测试机上
127 测试机上面gcov工具的版本必须要跟内核编译机器使用的gcc版本相兼容,
145 b) 若gcov运行在编译机上
149 从sysfs中的gcov目录中:
153 这些文件可以拷贝到编译机的任意目录下,gcov使用-o选项指定拷贝的
163 [user@build] gcov -o /tmp/coverage/tmp/out/init main.c
169 GCC和LLVM gcov工具不一定兼容。
176 GCC和Clang gcov之间的版本差异由Kconfig处理的。
177 kconfig会根据编译工具链的检查自动选择合适的gcov格式。
208 (见 :ref:`编译机和测试机分离 a. <gcov-test_zh>` )
241 (见 :ref:`编译机和测试机分离 b. <gcov-build_zh>` )
248 GCDA=/sys/kernel/debug/gcov