Linux驱动开发(3):调试技术

主要的调试有3种:打印调试(printk),查询调试(/proc),监视调试(strace)。

即使采取了以上三种调试技术有时候驱动程序依然会出错,这样驱动程序在执行时候就会产生系统故障,这些错误通常会产生一个oops消息。

最后就是使用相关的调试器(gdb和kdb)跟踪代码,查看变量和计算机寄存器的值。

综上所述总共有5种调试技术:打印,查询,监视,系统故障,调试器。


这里我测试了打印调试和调试器gdb调试。

1.打印调试

printk是内核级别的打印命令,通过不同日志级别(loglevel),或者说“消息优先级”,可以让printk根据这些级别所表示的严重程度对消息进行分类。

在linux2.6内核头文件<linux/kernel.h>中定义了8种可用的日志级别字符串,消息优先级由高到低依次为:

#define    KERN_EMERG         "<0>"    紧急事件,一般在系统崩溃之前

#define    KERN_ALERT          "<1>"    立即采取行动

#define    KERN_CRIT              "<2>"    临界状态,严重的硬件或软件操作失败

#define    KERN_ERR               "<3>"    报告错误状态,一般用于硬件错误

#define    KERN_WARNING

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值