動態(tài)輸出可以動態(tài)選擇打開某個內(nèi)核子系統(tǒng)的輸出,可以有選擇性地打開某些模塊的輸出。
配置內(nèi)核編譯選項要使用動態(tài)輸出,必須在配置內(nèi)核時打開CONFIG_DYNAMIC_DEBUG宏。內(nèi)核代碼里使用大量pr_debug()/dev_dbg()函數(shù)來輸出信息,這些就使用了動態(tài)輸出。
需要打開的內(nèi)核配置選項:
CONFIG_DEBUG_FS=yCONFIG_DYNAMIC_DEBUG=y
CONFIG_DYNAMIC_DEBUG是配置動態(tài)輸出,它依賴于CONFIG_DEBUG_FS,而CONFIG_DEBUG_FS是debugfs文件系統(tǒng)。
打開內(nèi)核配置后,我們還需要掛載debugfs文件系統(tǒng)。
debugfs文件系統(tǒng)掛載動態(tài)輸出在debugfs文件系統(tǒng)中有一個control文件節(jié)點,這個文件節(jié)點記錄了系統(tǒng)中所有使用動態(tài)輸出技術(shù)的文件名路徑、輸出所在的行號、模塊名字和要輸出的語句。
debugfs默認會掛載到/sys/kernel/debug,如果沒有掛載,可以執(zhí)行以下命令掛載:
mount -t debugfs none /sys/kernel/debug/
掛載debugfs文件系統(tǒng)后,可以查看control節(jié)點內(nèi)容:
cat /sys/kernel/debug/dynamic_debug/control
-
內(nèi)核
+關(guān)注
關(guān)注
3文章
1416瀏覽量
41407 -
Linux
+關(guān)注
關(guān)注
87文章
11509瀏覽量
213700 -
子系統(tǒng)
+關(guān)注
關(guān)注
0文章
115瀏覽量
12831
發(fā)布評論請先 登錄
Linux內(nèi)核學習筆記:printk調(diào)試
Linux內(nèi)核學習筆記:動態(tài)輸出調(diào)試

請問linux內(nèi)核怎么調(diào)試?
實例分析LINUX系統(tǒng)的靜/動態(tài)集成調(diào)試模式

如何配置和使用Linux內(nèi)核printk功能
學會Linux內(nèi)核調(diào)試方法!
Linux開發(fā)中如何同時輸出調(diào)試信息到終端及文件

嵌入式LINUX系統(tǒng)內(nèi)核和內(nèi)核模塊調(diào)試教程

嵌入式LINUX系統(tǒng)內(nèi)核和內(nèi)核模塊調(diào)試

使用動態(tài)輸出打印內(nèi)核的DEBUG信息
Linux內(nèi)核調(diào)試的方式以及工具集錦
Linux內(nèi)核調(diào)試方式以及工具總結(jié)

Linux內(nèi)核基礎:動態(tài)輸出使用

評論