第一點需要澄清:我使用的環境是嵌入式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的輸出一般都會帶着函數名,所以可以使用該方法
