0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux內(nèi)核動(dòng)態(tài)輸出調(diào)試

麥辣雞腿堡 ? 來源:嵌入式Linux充電站 ? 作者:Vincent ? 2023-09-27 15:45 ? 次閱讀

動(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)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 內(nèi)核
    +關(guān)注

    關(guān)注

    3

    文章

    1348

    瀏覽量

    40153
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11171

    瀏覽量

    208478
  • 子系統(tǒng)
    +關(guān)注

    關(guān)注

    0

    文章

    109

    瀏覽量

    12364
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Linux內(nèi)核學(xué)習(xí)筆記:printk調(diào)試

    很多內(nèi)核開發(fā)者喜歡的調(diào)試工具是printk,在Linux內(nèi)核中,使用printk()函數(shù)來打印信息,它與C庫的printf()函數(shù)類似。
    發(fā)表于 06-01 15:14 ?1027次閱讀

    Linux內(nèi)核學(xué)習(xí)筆記:動(dòng)態(tài)輸出調(diào)試

    上篇說到printk調(diào)試,但printk是全局的,只能設(shè)置輸出等級(jí)。而動(dòng)態(tài)輸出可以動(dòng)態(tài)選擇打開某個(gè)內(nèi)核
    發(fā)表于 06-01 15:16 ?468次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>內(nèi)核</b>學(xué)習(xí)筆記:<b class='flag-5'>動(dòng)態(tài)</b><b class='flag-5'>輸出調(diào)試</b>

    請(qǐng)問linux內(nèi)核怎么調(diào)試

    問個(gè)問題,怎么調(diào)試linux內(nèi)核,百度了一下,結(jié)果還是不會(huì)使用gdb調(diào)試內(nèi)核。希望大蝦幫忙指點(diǎn)一下。
    發(fā)表于 02-25 07:32

    如何配置和使用Linux內(nèi)核printk功能

    了解如何配置和使用Linux內(nèi)核printk功能,包括其動(dòng)態(tài)調(diào)試功能。 這樣可以選擇性地打印調(diào)試消息,而無需重新編譯
    的頭像 發(fā)表于 11-27 06:40 ?3038次閱讀

    學(xué)會(huì)Linux內(nèi)核調(diào)試方法!

    內(nèi)核開發(fā)比用戶空間開發(fā)更難的一個(gè)因素就是內(nèi)核調(diào)試艱難。內(nèi)核錯(cuò)誤往往會(huì)導(dǎo)致系統(tǒng)宕機(jī),很難保留出錯(cuò)時(shí)的現(xiàn)場(chǎng)。調(diào)試
    發(fā)表于 05-07 11:01 ?2299次閱讀

    Linux:QEMU調(diào)試內(nèi)核的步驟

    Linux:QEMU調(diào)試內(nèi)核的步驟
    的頭像 發(fā)表于 06-23 09:03 ?3083次閱讀
    <b class='flag-5'>Linux</b>:QEMU<b class='flag-5'>調(diào)試</b><b class='flag-5'>內(nèi)核</b>的步驟

    Linux開發(fā)中如何同時(shí)輸出調(diào)試信息到終端及文件

    Linux下的開發(fā)中,printf打印調(diào)試信息默認(rèn)輸出到標(biāo)準(zhǔn)輸出 stdout (即屏幕/終端)中。我們也可以使用輸出重定向技術(shù)
    的頭像 發(fā)表于 11-04 16:40 ?7319次閱讀
    <b class='flag-5'>Linux</b>開發(fā)中如何同時(shí)<b class='flag-5'>輸出調(diào)試</b>信息到終端及文件

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

    本文檔的主要內(nèi)容詳細(xì)介紹的是嵌入式LINUX系統(tǒng)內(nèi)核內(nèi)核模塊調(diào)試教程。
    發(fā)表于 11-06 17:32 ?21次下載
    嵌入式<b class='flag-5'>LINUX</b>系統(tǒng)<b class='flag-5'>內(nèi)核</b>和<b class='flag-5'>內(nèi)核</b>模塊<b class='flag-5'>調(diào)試</b>教程

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

    嵌入式LINUX系統(tǒng)內(nèi)核內(nèi)核模塊調(diào)試(嵌入式開發(fā)和硬件開發(fā))-嵌入式LINUX系統(tǒng)內(nèi)核
    發(fā)表于 07-30 13:55 ?10次下載
    嵌入式<b class='flag-5'>LINUX</b>系統(tǒng)<b class='flag-5'>內(nèi)核</b>和<b class='flag-5'>內(nèi)核</b>模塊<b class='flag-5'>調(diào)試</b>

    使用動(dòng)態(tài)輸出打印內(nèi)核的DEBUG信息

    printk()是很多嵌入式開發(fā)者喜歡用的調(diào)試手段之一,但是,使用printk()每次都要重新編譯內(nèi)核,很不方便。使用動(dòng)態(tài)輸出在不需要重新編譯內(nèi)核
    的頭像 發(fā)表于 01-06 10:46 ?792次閱讀

    Linux內(nèi)核調(diào)試的方式以及工具集錦

    內(nèi)核總是那么捉摸不透, 內(nèi)核也會(huì)犯錯(cuò), 但是調(diào)試卻不能像用戶空間程序那樣, 為此內(nèi)核開發(fā)者為我們提供了一系列的工具和系統(tǒng)來支持內(nèi)核
    的頭像 發(fā)表于 02-20 17:56 ?785次閱讀

    Linux內(nèi)核調(diào)試方式以及工具總結(jié)

    內(nèi)核總是那么捉摸不透, 內(nèi)核也會(huì)犯錯(cuò), 但是調(diào)試卻不能像用戶空間程序那樣, 為此內(nèi)核開發(fā)者為我們提供了一系列的工具和系統(tǒng)來支持內(nèi)核
    的頭像 發(fā)表于 05-22 14:37 ?1381次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>內(nèi)核</b><b class='flag-5'>調(diào)試</b>方式以及工具總結(jié)

    APM飛控固件的兩種輸出調(diào)試信息的方法

    在無人機(jī)飛控固件開發(fā)過程中,我們經(jīng)常需要實(shí)時(shí)輸出一些調(diào)試信息(如一些變量的值、狀態(tài)機(jī)切換提示等),在APM固件中有如下兩種常用的輸出調(diào)試信息的方法。
    的頭像 發(fā)表于 07-02 17:33 ?2041次閱讀
    APM飛控固件的兩種<b class='flag-5'>輸出調(diào)試</b>信息的方法

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

    動(dòng)態(tài)輸出使用 打開svcsock.c文件中所有的動(dòng)態(tài)輸出語句 # echo 'file svcsock.c +p' > /sys/ kernel /debug/ dynamic_deb
    的頭像 發(fā)表于 09-27 15:51 ?451次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>內(nèi)核</b>基礎(chǔ):<b class='flag-5'>動(dòng)態(tài)</b><b class='flag-5'>輸出</b>使用

    內(nèi)核調(diào)試工具printkprintk的輸出格式

    很多內(nèi)核開發(fā)者喜歡的調(diào)試工具是printk,在Linux內(nèi)核中,使用printk()函數(shù)來打印信息,它與C庫的printf()函數(shù)類似。 printk()與printf()的一個(gè)重要
    的頭像 發(fā)表于 09-27 16:09 ?918次閱讀