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

1.printk

1.1 printk的优点:
   a. 在中断中调用
   b. 在进程上下文中调用
   c.在持有锁时调用
   d.在多处理器上同时使用
1.2 printk的缺点:
   a.终端启动前无法调用
1.3 printk打印信息的级别
Linux驱动调试手段:打印信息日志_第1张图片
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文件得到。
调试信息数据流传递流程图:
Linux驱动调试手段:打印信息日志_第2张图片

3.查看更改日志级别

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

你可能感兴趣的:(Linux驱动)