Linux内核 printk知多少
来源:互联网 发布:淘宝游戏账号出售 编辑:程序博客网 时间:2024/05/17 01:54
linux内核中的 "printk"看似简单其实不然,但是我们在平时开发,完成功能阶段也没有必要了解的特别细致,如果想更深入的学习,我转载的另一片博文:http://blog.csdn.net/linux_rookie/article/details/71908317
一、printk打印级别:
print顾名思义打印信息,承担的对外显示以及内核调试功能,熟悉应用的开发的朋友对“printf”太有感情了。一直充当Debug大法中的那个又笨又有用的角色。有的人用了很多年却也仅仅是用来打印简单的信息,其实printf也是一个博大精深的函数,有精力的朋友可以自行查阅,今后有精力一定整理一片博文出来。今天我们的主角是Linux内核printk。
我们可以以内核源码为线索这里给出索引:
在Kernel.h (include\linux) 中可以发现
#define KERN_EMERG"<0>"/* system is unusable系统不可使用*/
#define KERN_ALERT"<1>"/* action must be taken immediately需要立即采取行动*/
#define KERN_CRIT"<2>"/* critical conditions严重情况*/
#define KERN_ERR"<3>"/* error conditions错误情况*/
#define KERN_WARNING"<4>"/* warning conditions警告情况*/
#define KERN_NOTICE"<5>"/* normal but significant condition正常情况, 但是值得注意*/
#define KERN_INFO"<6>"/* informational信息型消息*/
#define KERN_DEBUG"<7>"/* debug-level messages调试级别的信息*/
- 有的时候我们也会在内核中看到没有填写打印机别的printk那么这时内核会选用DEFAULT_MESSAGE_LOGLEVEL,这个定义位于kernel/printk.c:
- 二、怎么用
- 我们最初使用printk的时候第一个目的就是输出打印信息,以此来帮助我们调试。当你还想挖掘其它功能时你已经是牛人了,此贴对你无用。
- 通过上面的内容我们知道默认的打印级别是“4”那么这个打印级别是在哪里输出呢?
- 我们先来看Linux系统中的一个文件:
- ①控制台日志级别:优先级高于该值的消息将被打印至控制台。②缺省的消息日志级别:将用该值来打印没有优先级的消息。③最低的控制台日志级别:控制台日志级别可能被设置的最小值。④缺省的控制台:控制台日志级别的缺省值。
- 目前我们关心的是一个:
- 只有级别比他高的信息才能在控制台上打印出来,既 0-3级别的信息。
- 我们再看看一般arm开发板上的设置:
[root@board/]# cat /proc/sys/kernel/printk7 4 1 7
也就是说几乎所有的信息又要打出来,因为不同的设备有不同的用途,对于开发设备来说能更多的打印信息才能更好调试。- 另外想要看到所有的打印信息,还有一个命令:dmesg
- 由于dmesg显示的信息太多请自行尝试。
- Linux内核 printk知多少
- linux内核printk调试
- linux内核printk调试
- linux内核打印--printk
- Linux内核printk实现
- linux内核printk调试
- linux内核之printk
- Linux内核调试printk()总结
- Linux 内核调试之 printk
- Linux内核printk打印格式
- Linux内核打印函数printk的使用说明
- linux内核分析之printk.c
- Linux内核中printk与日志级别
- 【Linux内核debug】二分法与printk()
- linux内核调试中的printk()函数详解
- Linux内核打印函数printk的使用说明 .
- linux内核打印的各种设置-----printk
- Linux内核模块-printk函数(四)
- 小数据集训练深度网络的小技巧
- linux下php-fpm的启动和关闭
- 笔试时常用排序算法时间复杂度和空间复杂度
- A Beginner's Guide To Understanding Convolutional Neural Networks Part 2
- [Leetcode]_26 Remove Duplicates from Sorted Array
- Linux内核 printk知多少
- Oracle 11g通过提高IO吞吐量(修改_db_file_optimizer_read_count)来优化全表扫描
- Java基础-多线程的同步机制
- 最长公共子序列
- Buildings
- Codeforces Round #410
- Dagger2概念及使用
- s5pv210——LCD基础理论
- unity3d 重要函数方法