使用printk()函数调试设备驱动程序
来源:互联网 发布:在线音乐转换格式软件 编辑:程序博客网 时间:2024/05/29 18:47
当程序代码编写好时很少不会出错误,这个时候就要用printk()函数来调试了。
该函数的功能与printf()差不多,但是,它只能由内核例程来调试,该函数在kernel/printk.c中实现,原型如下:
int printk(const char *fmt,…);
printk()函数的使用方法与printf()基本相同,但参数的第一个位置可以使用表示信息重要性的宏,这些宏称为“日志级别”。
include/linux/kernel.h文件的第31~38行定义了代表8种不同级别的宏,第43行定义了默认(即在使用printk()函数时没有使用宏)采用的日志级别为KERN_WARING。
以下是内核中定义的宏:
Include/linux/kernel.h
31 #define KERN_EMERG”<0>” /*system no longer useble*/
32 #define KERN_ALERT”<1>” /* action to be terminated at once*/
33 #define KERN_CRIT”<2>” /*critical condition*/
34 #define KERN_ERR”<3>” /*error*/
35 #define KERN_WARNING”<4>” /*warning*/
36 #define KERN_NOTICE”<5>” /*normal,but noteworthy*/
37 #define KERN_INFO”<6>” /*information*/
38 #define KERN_DEBUG”<7>” /*debug level*/
43 #define default_message_loglevel(console_printk[1])
kernel/printk.c中定义的console_printk[1]为4
kernel/printk.c
49 #define DEFAULT_MESSAGE_LOGLEVEL 4 /*KERN_WARNING*/
57 int console_printk[4]={
58 DEFAULT_CONSOLE_LOGLEVEL, /*console_loglevel*/
59 DEFAULT_MESSAGE_LOGLEVEL, /*default_ message_loglevel*/
60 MINIMUM_CONSOLE_LOGLEVEL, /*minimum_console_loglevel*/
61 DEFAULT_CONSOLE_LOGLEVEL, /*default_console_loglevel*/
62 };
- 使用printk()函数调试设备驱动程序
- Linux设备驱动程序——驱动调试printk()
- LINUx 驱动程序printk 调试
- 驱动程序调试方法printk解析
- 驱动程序调试方法之printk
- printk()函数的使用 内核调试技术
- 驱动程序调试方法之printk——printk的原理与直接使用
- 驱动程序调试方法之printk——printk的原理与使用
- 驱动程序调试方法之printk——printk的原理与直接使用
- 驱动程序调试方法之printk——printk的原理与直接使用
- 内核调试函数printk()
- 使用printk调试kernel
- 使用printk调试kernel
- printk()函数的使用
- printk函数的使用
- printk()函数的使用
- printk()函数的使用
- printk()函数的使用
- 在自带的uitableviewcell上面加内容注意点
- iOS开发之常用插件
- 欢迎使用CSDN-markdown编辑器
- cloudera manager搭建spark集群: No route to host
- 009-LAMP_MySQL_privilege
- 使用printk()函数调试设备驱动程序
- 0-1背包 回溯法
- ubuntu14.04下利用pypi-server搭建本地的pip库
- TestNG依赖测试
- Elasticsearch学习之安装windows本地环境
- 基于ArcEngine的道格拉斯算法的简单实现
- poj 2524 Ubiquitous Religions
- Retrofit+RxJava实战日志(4)-Gson解析空字符串的问题
- 四大组件---service生命周期事例详解(二)