linux dprintk 日志,linux內核調試中的printk()函數詳解

本文详细介绍了Linux内核中的printk()函数,包括8个不同的日志级别及其用途,如紧急事件(KERN_EMERG)、错误(KERN_ERR)等。在控制台和系统日志中,不同级别的信息会根据预设的控制台日志级别进行输出。可以通过修改/proc/sys/kernel/printk来调整控制台日志级别。在模块编程中,printk()的使用有助于调试和理解系统当前状态。
摘要由CSDN通过智能技术生成

我們在使用printk()函數中使用日志級別為的是使編程人員在編程過程中自定義地進行信息的輸出,更加容易地掌握系統當前的狀況。

對程序的調試起到了很重要的作用。

(下文中的日志級別和控制台日志控制級別是一個意思)

printk(日志級別 "消息文本");這里的日志級別通俗的說指的是對文本信息的一種輸出范圍上的指定。

日志級別一共有8個級別,printk的日志級別定義如下(在linux26/includelinux/kernel.h中):

#defineKERN_EMERG"<0>"/*緊急事件消息,系統崩潰之前提示,表示系統不可用*/

#defineKERN_ALERT"<1>"/*報告消息,表示必須立即采取措施*/

#defineKERN_CRIT"<2>"/*臨界條件,通常涉及嚴重的硬件或軟件操作失敗*/

#defineKERN_ERR"<3>"/*錯誤條件,驅動程序常用KERN_ERR來報告硬件的錯誤*/

#defineKERN_WARNING"<4>"/*警告條件,對可能出現問題的情況進行警告*/

#defineKERN_NOTICE"<5>"/*正常但又重要的條件,用於提醒。常用於與安全相關的消息*/

#defineKERN_INFO"<6>"/*提示信息,如驅動程序啟動時,打印硬件信息*/

#defineKERN_DEBUG"<7>"/*調試級別的消息*/

沒有指定日志級別的printk語句默認采用的級別是 DEFAULT_ MESSAGE_

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值