打印调试技术printkklogddmesg(解决打印信息的问题)#includeprintk(KERN_CRIT"error%s,%i",__FILE__,__LINE__);注:1).printk函数中能够指定优先级,假如printk没有指定优先级,采用默认优先级,DEFAULT_MESSAGE_LEVEL,其值在kernel/. 头文档linux/,0-8从高到低分别是: KERN_EMERG,KERNEL_ALERT,KERN_CRIT,KERN_ERR,KERN_WARNING,KERN_NOTICE,KERN_INFO,KERN_DEBUG2).当printk指定的优先级小于指定的控制台优先级console_loglevel时,调试消息就显示在控制台虚拟终端。 缺省的console_loglevel值是DEFAULT_CONSOLE_LOGLEVEL。 .也能够使用系统调用sys_syslog或klogd-c来修改console_loglevel值。 .在新版本中,也能够直接通过文档/proc/sys/kernel/printk修改,这个文档包含4个整数值,前两个表示系统当前的优先级和缺省优先级。 能够直接echo8>/proc/sys/kernel/printk .也能够指定显示在其他控制台,通过调用ioctl(TIOCLINUX)或shell命令setconsole来配置。 .假如运行了klogd和syslogd,则printk打印到var/log/messages。.用打印调试最常用的调试技术是监视,,,,KERN_INFO,我们之前曾在一些打印语句的前面看到过,,在编译时与消息文本连接在一起;,一个调试消息,一个紧急消息:printk(KERN_DEBUG"HereIam:%s:%i/n",__FILE__,__LINE__);printk(KERN_CRIT"I'mtrashed;givingupon%p/n",ptr);有8种可能的记录字串,在头文件<linux/>里定义;我们按照严重性递减的顺序列出它们:KERN_EMERG用于紧急消息,,;,,,(在宏
打印调试技术 printk klogd dmesg(解决打印信息的问题)精编版 来自淘豆网www.taodocs.com转载请标明出处.