本文主要是介绍printk Linux内核函数详解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一.函数介绍
printk可以将信息输出到各种不同的设备和位置,例如控制台、串口、日志文件等。printk函数的输出会被写入内核的环形缓冲区中,并由一个或多个后台进程将其传输到目标设备或位置。可以使用dmesg命令来查看内核环形缓冲区中的输出消息,也可以将printk输出重定向到其他设备或位置,例如串口或日志文件。
通俗易懂来说就是在内核中打印Log方便开发人员调试。
函数在以下内核代码中:
include/linux/printk.h
二.函数用法
例:在内核函数vfs_getattr_nosec中插入一条Log
printk(KERN_INFO "----------xxxxxxxxxxxxxxxxxxxxxx");
这里前面的KERN_INFO是日志级别,可以根据自己的需求去选择级别,日志级别对应如下:
三.函数使用
printk打印的内容会在内核缓冲区里
所以可以使用dmesg来查看效果
我们编译好内核刷入手机后 手机连接电脑 打开cmd命令行
输入命令 dmesg| grep xxxxx 在内核缓冲区中搜索我们打印的log,可以看到此时我们打印的log已经显示出来了。
四.总结
在编译内核代码时使用printk可以帮助我们调试应用,找到问题去解决问题。
这篇关于printk Linux内核函数详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!