如何查看Linux内核输出的调试信息

第一点需要澄清:我使用的环境是嵌入式Linux,并非桌面版Linux,查看内核输出的调试信息也是为了追踪内核子系统的运行。这可能是一个非常小的知识点,但是还是希望自己记录一些东西,以后也好拾起。

本文分为两点:

  • 如何打开内核中底层的调试信息输出
  • 如何查看底层的调试信息输出



1. 如何打开内核调试dbg输出
CONFIG_DYNAMIC_DEBUG=y

在内核的配置选项中,我们可以选择
Kernel hacking->pintk and debugs options->Enable dynamic printk() support

打开这个功能选项后,内核中的调试信息就会输出到一个文件中,这个文件就是:/sys/kernel/debug/dynamic_debug/control,该文件会按照调试输出信息的文件和函数标识一条输出信息

我参考他人博客时发现他们需要挂在debugfs/sys/kernel/debug目录下,我使用的文件系统是buildroot构建的,我在挂载的时候提示已经挂载好了。如果读者的目录还没有挂在好可以参考如下命令进行挂载:

      mount –t debugfs none /sys/kernel/debug 



2. 如何查看输出的调试信息
1.按照关键字使用grep命令在dynamic_debug目录下搜索
2.按照文件名搜索:这里最好指定路径,因为内核中可能具有同名的文件
3.按照函数搜索:这是由于debug的输出一般都会带着函数名,所以可以使用该方法

posted @ 2021-01-27 20:45  FOFI  阅读(1469)  评论(0编辑  收藏  举报