Linux驱动调试手段:打印信息日志

本文介绍了Linux驱动调试中的关键手段,包括使用printk进行内核消息打印,理解klogd服务如何记录这些日志,以及如何查看和更改日志级别,帮助开发者更有效地诊断和解决问题。

1.printk

1.1 printk的优点:
   a. 在中断中调用
   b. 在进程上下文中调用
   c.在持有锁时调用
   d.在多处理器上同时使用
1.2 printk的缺点:
   a.终端启动前无法调用
1.3 printk打印信息的级别

1.4 printk的使用
eg.
   printk( KERN_WARNING“This is a warning\n”);
   printk( KERN_DEBUG“This is a warning!\n” );

2.klogd

   klogd用来记录缓冲区获取的内核消息。只有日子级别小于console_loglevel,消息才能显示出来,console_loglevel的值可以通过sys_syslogd系统调用进行修改。
运行klogd时,可以使用-c标志改变中断的日子。运行klogd后,消息将追加到/var/log/messages。
没有运行klogd的Linux系统,消息不会传递到用户空间,但是可以通过查看/proc/kmsg文件得到。
调试信息数据流传递流程图:

3.查看更改日志级别

查看日志级别:
cat /proc/sys/kernel/printk
更改日志级别(如改为级别8):
echo 8 > /proc/sys/kernel/printk

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值