当前位置:   article > 正文

Linux驱动----3、调试技术和/prop_linux中prop技术

linux中prop技术

Klogd&&Syslogd

1>  所有系统信息是输出到ring buffer中去的.dmesg所显示的内容也是从ring buffer中读取的.

2> LINUX系统中/etc/init.d/sysklogd会启动2个守护进程:Klogd&&Syslogd

3> klogd是负责读取内核信息的,有2种方式:

            syslog()系统调用

            直接的对/proc/kmsg进行读取(/proc/kmsg是专门输出内核信息的地方)

4>   Klogd的输出结果会传送给syslogd进行处理,syslogd会根据/etc/syslog.conf的配置把log 信息输出到/var/log/下的不同文件中.

printk

日志级别字符串:KERN_EMERG, KERN_ALERT, KERN_CRIT, KERN_ERR, KERN_WARNING, KERN_NOTICE, KERN_INFO, KERN_DEBUG. printk默认级别是DEFAULT_MESSAGE_LOGLEVEL(在kernel/printk.c中定义)。当优先级小于console_loglevel消息才会显示出来。

宏定义中##和#的作用

 ##是一个连接符号,用于把参数连在一起,例如: 
            > #define  FOO(arg)   my##arg 
            > FOO(abc)         相当于   myabc      

 #是“字符串化”的意思。出现在宏定义中的#是把跟在后面的参数转换成一个字符串,例如: 
            > #define STRCPY(dst, src)   strcpy(dst, #src)        

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/黑客灵魂/article/detail/997983
推荐阅读
相关标签
  

闽ICP备14008679号