動(dòng)態(tài)輸出可以動(dòng)態(tài)選擇打開某個(gè)內(nèi)核子系統(tǒng)的輸出,可以有選擇性地打開某些模塊的輸出。
配置內(nèi)核編譯選項(xiàng)要使用動(dòng)態(tài)輸出,必須在配置內(nèi)核時(shí)打開CONFIG_DYNAMIC_DEBUG宏。內(nèi)核代碼里使用大量pr_debug()/dev_dbg()函數(shù)來輸出信息,這些就使用了動(dòng)態(tài)輸出。
需要打開的內(nèi)核配置選項(xiàng):
CONFIG_DEBUG_FS=yCONFIG_DYNAMIC_DEBUG=y
CONFIG_DYNAMIC_DEBUG是配置動(dòng)態(tài)輸出,它依賴于CONFIG_DEBUG_FS,而CONFIG_DEBUG_FS是debugfs文件系統(tǒng)。
打開內(nèi)核配置后,我們還需要掛載debugfs文件系統(tǒng)。
debugfs文件系統(tǒng)掛載動(dòng)態(tài)輸出在debugfs文件系統(tǒng)中有一個(gè)control文件節(jié)點(diǎn),這個(gè)文件節(jié)點(diǎn)記錄了系統(tǒng)中所有使用動(dòng)態(tài)輸出技術(shù)的文件名路徑、輸出所在的行號(hào)、模塊名字和要輸出的語句。
debugfs默認(rèn)會(huì)掛載到/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)注
3文章
1416瀏覽量
41426 -
Linux
+關(guān)注
關(guān)注
87文章
11511瀏覽量
213790 -
子系統(tǒng)
+關(guān)注
關(guān)注
0文章
115瀏覽量
12837
發(fā)布評(píng)論請先 登錄
Linux內(nèi)核學(xué)習(xí)筆記:printk調(diào)試
Linux內(nèi)核學(xué)習(xí)筆記:動(dòng)態(tài)輸出調(diào)試

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

如何配置和使用Linux內(nèi)核printk功能
學(xué)會(huì)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)試

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

Linux內(nèi)核基礎(chǔ):動(dòng)態(tài)輸出使用

評(píng)論