读“嵌入式Linux的调试技术”的心得

1对于复杂的Linux驱动及HAL等程序库,需要使用各种方法对其进行调试。例如设置断点、逐步跟踪代码、输出调试信息等。

2打印内核调试信息:printk,该函数与printf用法类似,但是printk运行在内核空间,而printf运行在用户空间。

3printk文件是一个简单的有4个数字组成的文本文件,默认值:6 4 1 7

4 大量使用printk函数会降低Linux驱动性能。为了方便控制printk函数的输出,最好利用C语言中 的编译指令(#if#else#endif

5 printk函数在控制台(终端)显示消息是通过/dev/console设备文件实现的。而该设备文件只在字符界面的控制台下才起作用。所以只有用在字符界面的控制台才能正常输出消息。

6通过虚拟文件系统(/proc)进行数据交互。/proc是虚拟文件系统,是内存映射,读写/proc文件系统的书店要远比读写/dev文件系统的速度快。

7 Linux文件的读写由属性决定,在程序中可用八进制表示。

8要删除虚拟目录之前,先删除虚拟目录下的虚拟文件。

9介绍2种调试工具,可以逐行跟踪程序的代码

(1)用gdbgdbserver可以调试用户空间程序

(2)用Kgdb远程调试内核空间程序

 

posted @ 2016-06-24 08:49  bbbox  阅读(224)  评论(0编辑  收藏  举报