本文主要是介绍如何判断驱动中probe是否执行,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在我们调试驱动程序的时候需要查看probe函数是否执行,我们只需要在其probe函数写一个printk函数即可,在驱动和设备匹配之后就会执行这个probe里面的打印函数
但是前提我们需要降低内核的打印级别,否则是看不到的,我们可以降到最低:
执行这句 : echo 8 > /proc/sys/kernel/printk ,就可以看到相应的打印信息了
补充:
这里有八个级别,0-7,数字越大打印级别越低
#define KERN_EMERG KERN_SOH "0" /* system is unusable */
#define KERN_ALERT KERN_SOH "1" /* action must be taken immediately */
#define KERN_CRIT KERN_SOH "2" /* critical conditions */
#define KERN_ERR KERN_SOH "3" /* error conditions */
#define KERN_WARNING KERN_SOH "4" /* warning conditions */
#define KERN_NOTICE KERN_SOH "5" /* normal but significant condition */
#define KERN_INFO KERN_SOH "6" /* informational */
#define KERN_DEBUG KERN_SOH "7" /* debug-level messages */#define KERN_DEFAULT KERN_SOH "d" /* the default kernel loglevel */
1. 若想查看最低等级的打印信息:
echo 8 > /proc/sys/kernel/printk
2. 查看当前打印级别:
cat /proc/sys/kernel/printk
3. 恢复默认打印级别:
echo 4 > /proc/sys/kernel/printk
这篇关于如何判断驱动中probe是否执行的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!