1 引言 | 第1-12页 |
1.1 嵌入式系统概述 | 第7-8页 |
1.1.1 嵌入式系统的概念 | 第7页 |
1.1.2 嵌入式系统的特点 | 第7-8页 |
1.1.3 嵌入式系统的发展 | 第8页 |
1.2 嵌入式系统软件开发环境概述 | 第8-12页 |
1.2.1 嵌入式操作系统 | 第8-9页 |
1.2.2 嵌入式系统软件开发环境中的开发工具 | 第9-10页 |
1.2.3 中科院计算所EEOS简介 | 第10页 |
1.2.4 论文产生的理论与实践背景 | 第10-12页 |
2 程序调试与调试器设计概述 | 第12-17页 |
2.1 调试的一般过程 | 第12-13页 |
2.2 调试器的分类 | 第13-14页 |
2.3 调试器设计应遵循的一般原则 | 第14-15页 |
2.4 嵌入式系统软件开发中调试方法的历史与发展 | 第15页 |
2.5 嵌入式系统软件开发环境中调试器的特点 | 第15-17页 |
3 ELF文件格式及调试信息的表示 | 第17-33页 |
3.1 ELF文个件格式介绍 | 第17-22页 |
3.1.1 ELF文件的总体结构 | 第17-18页 |
3.1.2 各组成部分内容介绍 | 第18-22页 |
3.2 ELF文件重定位的实现 | 第22-24页 |
3.2.1 静态重定位的实现 | 第23-24页 |
3.2.2 动态重定位的实现 | 第24页 |
3.3 ELF文件中调试信息的表示 | 第24-33页 |
3.3.1 调试信息的产生过程 | 第24-26页 |
3.3.2 stabs调试信息表示格式简介 | 第26-33页 |
4 调试信息的提取与加工 | 第33-45页 |
4.1 ELF目标文件中stab节内容的组织特点 | 第33-35页 |
4.2 调试器设计中提取和加工目标文件中调试信息的数据结构 | 第35-45页 |
4.2.1 bfd(the binary file descriptor) | 第35-38页 |
4.2.2 objfile | 第38-45页 |
5 嵌入式系统中两种远程调试方法的原理与实现 | 第45-50页 |
5.1 Stub-Debugger方式 | 第45-47页 |
5.2 OCD调试方式(On-Chip Debugging) | 第47-50页 |
6 嵌入式软件开发环境中调试器常用功能的实现 | 第50-57页 |
6.1 symbol.load功能的实现 | 第50页 |
6.2 断点管理功能的实现 | 第50-51页 |
6.3 函数凋用栈与变量查看功能 | 第51-55页 |
6.4 单步执行功能的实现 | 第55-57页 |
6.4.1 指今级单步 | 第55页 |
6.4.2 step into单步功能的实现算法 | 第55-56页 |
6.4.3 step over功能的实现算法 | 第56-57页 |
附一 stabexample.c的stabs格式调试信息 | 第57-62页 |
附二 GNU远程串口调试通信协议介绍 | 第62-65页 |
附三 BDM调试电路板电路图 | 第65-66页 |
附四 嵌入式调试器的基本功能及命令格式 | 第66-69页 |
参考文献 | 第69-71页 |
致谢 | 第71-72页 |