读书笔记第十章

对于复杂的Linux驱动及HAL等程序库,需要使用各种方法进行对其调试。打印内核调试信息printk,该函数用法与printf函数类似,只不过printk函数运行在内核空间,printf函数运行在用户空间。防止printk函数Linux驱动性能,虽然使用printk函数可以很方便的将消息写入日志文件或控制台。但大量使用printk函数频繁操作日志文件或控制台设备文件。通过虚拟文件系统/proc进行数据交互。其中四个函数:proc_mkdir  create_proc_entry  create-proc_read_entry  remove_proc_entry,调试工具,用gdb调试用户空间程序,用gdbserver远程调试用户空间程序,用kgdb远程调试内核程序,Linux内核调试一直被很多人认为很困难,大多数人宁愿直接使用printk函数输出调试信息,也不愿使用各种命令(gdb,kgdb)当发现某段代码的bug太多或很难通过printk函数输出程序找出,可以考虑使用kgdb用step by step的方式定位bug。printk4个数字含义:6 将消息输出到控制台的级别。只有高于该级别的输出信息才会输出到控制台。4默认的消息日志级别。如果不在printfk函数中指定日志级别,就会使用该值作为默认的级别。1控制台日志级别可设置的最小值。(最高优先级别)。7控制台日志级别默认值。  

posted @ 2016-07-08 11:58  有一点点帅  阅读(144)  评论(0编辑  收藏  举报