首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linux内核代码覆盖率- GCOV

Linux内核代码覆盖率- GCOV
EN

Stack Overflow用户
提问于 2012-12-04 21:30:24
回答 2查看 5.4K关注 0票数 5

我正在尝试使用Linux测试项目的一些测试场景并获取内核源代码覆盖率

我是用GCOV/LCOV来这么做的。

到目前为止,我拥有的东西如下:

  • 构建配置中的GCOV标志

基于GCOV的内核剖析 CONFIG_GCOV_KERNEL=y CONFIG_GCOV_PROFILE_ALL=y Linux内核版本: 2.6.32.60+drm33.26

  • 构建内核后,源文件夹中有所有的.gcov文件
  • 当我使用源文件作为输入时,GCOV/LCOV工作

我应该拥有但我没有的东西

  • /Proc/GCOV文件夹
  • GCOV内核模块(gcov.o?)

现在,我想要的是运行测试场景,并使用LCOV获取Linux内核代码的哪一部分到目前为止已经使用过。但是当我调用LCOV -c时,这就是我所得到的,尽管所有的构建标志都是可以的。

加载所需的gcov内核模块。 错误:无法加载所需的gcov内核模块!

这里有一个内核补丁,用于< 2.6.30,然后它就内置了。

EN

回答 2

Stack Overflow用户

发布于 2012-12-28 06:57:16

请阅读这份文件

http://www.mjmwired.net/kernel/Documentation/gcov.txt

以下是你的问题的答案:

  1. 没有用于内核覆盖的proc。从新的kenrel启动后,您必须通过命令“挂载-t调试器无/sys/内核/debug”并从该文件读取内核的覆盖率日志。
  2. 内核覆盖不能作为模块构建。如您所见,配置选项是'Y',而不是'M‘。
票数 3
EN

Stack Overflow用户

发布于 2013-01-15 05:10:07

下面是我在ubuntu12.04默认内核上的尝试。虽然gcov没有启用,但调试fs已经挂载,并且可以在其中找到一些kvm调试信息。

代码语言:javascript
复制
ubuntu:/sys/kernel# mount -t debugfs none /sys/kernel/debug
mount: none already mounted or /sys/kernel/debug busy
mount: according to mtab, none is already mounted on /sys/kernel/debug
ubuntu:/sys/kernel# umount /sys/kernel/debug
ubuntu:/sys/kernel# mount -t debugfs none /sys/kernel/debug
ubuntu:/sys/kernel# ls debug
acpi  bdi  bluetooth  extfrag  gpio  hid  kprobes  kvm  mce  regmap  regulator  sched_features  suspend_stats  tracing  usb  wakeup_sources  x86
ubuntu:/sys/kernel# cat debug/kvm/
efer_reload          host_state_reload    io_exits             mmio_exits           mmu_pte_write        nmi_window           signal_exits
exits                hypercalls           irq_exits            mmu_cache_miss       mmu_recycled         pf_fixed             tlb_flush
fpu_reload           insn_emulation       irq_injections       mmu_flooded          mmu_shadow_zapped    pf_guest
halt_exits           insn_emulation_fail  irq_window           mmu_pde_zapped       mmu_unsync           remote_tlb_flush
halt_wakeup          invlpg               largepages           mmu_pte_updated      nmi_injections       request_irq
ubuntu:/sys/kernel# cat debug/kvm/io_exits
467789515
ubuntu:/sys/kernel#
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13712280

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档