文档介绍:西安电子科技大学
学位论文创新性声明
秉承学校严谨的学风和优良的科学道德,本人声明所呈交的论文是我个人在
导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标
注和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰写过的研究成
果;也不包含为获得西安电子科技大学或其它教育机构的学位或证书而使用过的
材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中做了明确的说
明并表示了谢意。
申请学位论文与资料若有不实之处,本人承担一切的法律责任。
本人签名: 日期
西安电子科技大学
关于论文使用授权的说明
本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究
生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。学校有权保
留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部或部分内
容,可以允许采用影印、缩印或其它复制手段保存论文。同时本人保证,毕业后
结合学位论文研究课题再撰写的文章一律署名单位为西安电子科技大学。
(保密的论文在解密后遵守此规定)
本学位论文属于保密,在年解密后适用本授权书。
本人签名: 日期
导师签名: 日期
摘要
调试是软件开发的一个重要环节,调试器是软件开发必不可少的工具,一个
设计良好、功能完善的调试器能够大大缩短软件开发的时间。目前,国内的调试
器技术发展缓慢,而国外的成品调试器价格昂贵,因此,深入研究调试技术,开
发性能优越、价格低廉的调试器具有十分重要的意义。
论文首先分析了 Linux 操作系统 out 和 ELF 目标文件的格式,介绍了用于解
析这两种目标文件的 stabs 和 dwarf 调试信息格式;通过研究嵌入式系统的常用调
试方法,给出 JTAG 调试器的实现方案,并完成了文件解析、信息树构建、命令
解释等功能模块的设计,实现了调试器的各项功能;文件解析模块通过分析和处
理可执行目标文件,完成调试信息的获取;信息树构建模块通过提取调试信息的
有效数据,完成调试信息树的构建与保存;命令解释模块通过与用户界面和硬件
仿真器通信,实现调试程序的功能。
通过分析和利用可执行目标文件的调试信息,调试器能够快速完整地提取各
类变量的有效数据;并在此基础上,通过优化查询策略,有效地解决了查看全局
变量耗时长、效率低的问题;通过对调试器的测试,验证了结果的正确性。
关键字:嵌入式系统调试器目标文件调试信息全局变量
ABSTRACT
Debugging is an important part and the debugger is essential for software
development. A well-designed debugger can greatly shorten the software development
time. But there’s few domestic research on debugger technology and the foreign
debuggers are so expensive. It’s significant to have much deeper research on debugging
and develop an outstanding debugger.
This thesis mainly focuses on the research of debugging technology, designs and
implements an embedded system debugger. First of all, out and ELF executable files
under Linux system are analyzed in this thesis, then stabs and dwarf debugging
information formats which can parse the out and ELF file are introduced. Secondly,
several popular methods of debugging are researched for proposing an overall scheme
of JTAG debugger, together with the plishments of the file parsing module,
information tree building