動態(tài)輸出可以動態(tài)選擇打開某個(gè)內(nèi)核子系統(tǒng)的輸出,可以有選擇性地打開某些模塊的輸出。
配置內(nèi)核編譯選項(xiàng)要使用動態(tài)輸出,必須在配置內(nèi)核時(shí)打開CONFIG_DYNAMIC_DEBUG宏。內(nèi)核代碼里使用大量pr_debug()/dev_dbg()函數(shù)來輸出信息,這些就使用了動態(tài)輸出。
需要打開的內(nèi)核配置選項(xiàng):
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)中有一個(gè)control文件節(jié)點(diǎn),這個(gè)文件節(jié)點(diǎn)記錄了系統(tǒng)中所有使用動態(tài)輸出技術(shù)的文件名路徑、輸出所在的行號、模塊名字和要輸出的語句。
debugfs默認(rèn)會掛載到/sys/kernel/debug,如果沒有掛載,可以執(zhí)行以下命令掛載:
mount -t debugfs none /sys/kernel/debug/
掛載debugfs文件系統(tǒng)后,可以查看control節(jié)點(diǎn)內(nèi)容:
cat /sys/kernel/debug/dynamic_debug/control
-
內(nèi)核
+關(guān)注
關(guān)注
4文章
1432瀏覽量
42335 -
Linux
+關(guān)注
關(guān)注
88文章
11581瀏覽量
217177 -
子系統(tǒng)
+關(guān)注
關(guān)注
0文章
115瀏覽量
13143
發(fā)布評論請先 登錄
Linux內(nèi)核學(xué)習(xí)筆記:printk調(diào)試
Linux內(nèi)核學(xué)習(xí)筆記:動態(tài)輸出調(diào)試
請問linux內(nèi)核怎么調(diào)試?
實(shí)例分析LINUX系統(tǒng)的靜/動態(tài)集成調(diào)試模式
如何配置和使用Linux內(nèi)核printk功能
學(xué)會Linux內(nèi)核調(diào)試方法!
Linux開發(fā)中如何同時(shí)輸出調(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)核基礎(chǔ):動態(tài)輸出使用

Linux內(nèi)核動態(tài)輸出調(diào)試
評論