摘要
在ARM上进行Linux驱动移植时,要对Linux内核代码进行修改、删减或添加,但这样做在运行时可能会遇到很多意想不到的错误,这时就需要去调试代码以找到出错的原因和位置。针对这一需要,提出并实现两种新的调试技术:第一种构造一个打印函数,把添加的打印信息单独存储,然后借助proc文件系统将其输出,实现了外加打印信息与内核自身打印信息的分离,使查找更加方便;其次利用系统时钟中断永不停息的特性确定系统僵死的位置。通过实验表明,该技术能快速有效地找到死循环的位置,省去了大量查找和分析代码的工作。
When performing Linux driver transplantation on ARM,it is needed to modify,delete or add Linux kernel codes,but which may result in many unexpected errors at runtime. At this time to debug codes so as to find the cause and position of the error are necessary. For this requirement,we propose and implement two new debugging techniques. The first one is to construct a printing function to store additional print information in a buffer separately,and to output it with the help of proc file system. It achieves the separation between the additional print information and the print information of the kernel itself,and makes the search more convenient. The second one is to determine the position of system dead by making use of the unceasing characteristic of system clock interrupt. It is shown through experiment that this technique finds the position of endless loop quickly,and saves a large amount of code search and analysis work.
出处
《计算机应用与软件》
CSCD
2016年第3期232-235,274,共5页
Computer Applications and Software