printk打印無輸出是的解決方法


打印級別格式:

printk(KERN_EMERG " 1111111 KERN_EMERG\n");

printk( "<0> 1111111 KERN_EMERG\n");

*******************************************************************************


1.基本解決方法(如果這種方法不行,結尾處說明另一種小眾原因)
用到的命令

    1>cat /proc/sys/kernel/printk
         4    4    1    7
         其中第一個“4”表示內核打印函數printk的打印級別,只有級別比他高的信息才能在控制台上打印出來,既 0-3級別的信息

    2>echo 8 > /proc/sys/kernel/printk 設置當前的日志級別

    3>不夠打印級別的信息會被寫到日志中可通過dmesg 命令來查看

使用printk時,Linux內核根據日志級別,可能把消息打印到當前控制台上,這個控制台是一個字符設備。這些消息從終端輸出的前提是日志輸出級別小於console_loglevel。

(越小級別越高)

日志級別有八個:0-7

上面顯示的數字:4、4、1、7分別對應控制台日志級別、默認的消息日志級別、最低的控制台日志級別和默認的控制台日志級別。

2.小眾錯誤(我就是在這個上面死的)

通過ssh或者telent建立的命令行無法接受printk的輸出,可以通過串口命令工具查看到。算是不徹底的解決吧,

具體原因日后補全。
————————————————
版權聲明:本文為CSDN博主「unlock1835」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/wx601056818/java/article/details/80113983


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM