【Linux内核】Ubuntu下printk函数无法在终端显示
2017-06-28 09:16
603 查看
在Ubuntu下使用insmod安装模块的时候,发现预设的调试信息并没有输出,但是使用dmesg命令可以看到在日志中确实有调试信息,下面分析一下可能的情况。
printk信息的输出去向
这是在内核的命令行参数console=ttyXXX里指定死了,比如console=tty1表示printk的信息输出到终端1。如果是这种情况,你需要使用Ctrl+Alt+(F1-F6)来切换终端。
日志输出级别过低
用printk,内核会根据日志级别,可能把消息打印到当前控制台上,这个控制台通常是一个字符模式的终端、一个串口打印机或是一个并口打印机。这些消息正常输出的前提是──日志输出级别高于console_loglevel(在内核中数字越小优先级越高)。
日志级别一共有8个级别,printk的日志级别定义如下(在include/linux/kernel.h中):
0 #define KERN_EMERG
1 #define KERN_ALERT
2 #define KERN_CRIT
3 #define KERN_ERR
4 #define KERN_WARNING
5 #define KERN_NOTICE
6 #define KERN_INFO
7 #define KERN_DEBUG
查看当前控制台的打印级别
上面显示的4个数据分别对应控制台日志级别、默认的消息日志级别、最低的控制台日志级别和默认的控制台日志级别。
修改printk当前控制台日志级别(三个方法):
1. dmesg -n 8
2. echo 8 > /proc/sys/kernel/printk
3. 修改kernel/printk.c,把MINIMUM_CONSOLE_LOGLEVEL定义为7
printk信息的输出去向
这是在内核的命令行参数console=ttyXXX里指定死了,比如console=tty1表示printk的信息输出到终端1。如果是这种情况,你需要使用Ctrl+Alt+(F1-F6)来切换终端。
日志输出级别过低
用printk,内核会根据日志级别,可能把消息打印到当前控制台上,这个控制台通常是一个字符模式的终端、一个串口打印机或是一个并口打印机。这些消息正常输出的前提是──日志输出级别高于console_loglevel(在内核中数字越小优先级越高)。
日志级别一共有8个级别,printk的日志级别定义如下(在include/linux/kernel.h中):
0 #define KERN_EMERG
1 #define KERN_ALERT
2 #define KERN_CRIT
3 #define KERN_ERR
4 #define KERN_WARNING
5 #define KERN_NOTICE
6 #define KERN_INFO
7 #define KERN_DEBUG
查看当前控制台的打印级别
cat /proc/sys/kernel/printk 6 4 1 7
上面显示的4个数据分别对应控制台日志级别、默认的消息日志级别、最低的控制台日志级别和默认的控制台日志级别。
修改printk当前控制台日志级别(三个方法):
1. dmesg -n 8
2. echo 8 > /proc/sys/kernel/printk
3. 修改kernel/printk.c,把MINIMUM_CONSOLE_LOGLEVEL定义为7
相关文章推荐
- printk无法在终端显示的问题
- Ubuntu16.04设置语言显示,导致终端无法打开
- printk打印终端无法显示
- ubuntu字符终端无法显示中文
- UBUNTU 上 pdf 中文无法显示怎么办?
- Ubuntu10.04下PDF中文无法显示或显示乱码的解决方法
- ubuntu9.04下GoogleEarth字体异常与图片无法显示修正方法
- 终端的中文显示-再次冲击Ubuntu之server篇
- Ubuntu打开pdf,中文无法显示的解决方案
- Ubuntu下pdf、gedit、vim 中文无法读取或者显示乱码的解决方法
- Ubuntu 无法显示桌面信息(向windows任务栏)
- Ubuntu 9.04更新后桌面无法显示问题的解决(输入密码后死机)
- AIX 控制台终端无法显示问题的解决
- ubuntu 终端中文显示乱码问题!
- ubuntu 终端中文显示乱码问题
- ubuntu下pdf文件打开中文无法显示的问题
- Ubuntu终端汉字的显示
- ubuntu下mplayer中无法显示中文字幕(.srt)
- ubuntu pdf(Okular)无法显示中文
- 刚装ubuntu后,打开windows下的TXT文件就会发现无法显示中文,出现大量乱码