当前图书市场上有关调试技术的书籍并不多。但是,对于从事实际开发的工程人员而言,尤其是对广大的嵌入式系统程序员而言,调试是一个无法回避的永恒话题。因此本书以嵌入式开发中的调试技术和调试手段作为全书的核心,在当前众多的计算机编程开发书籍中另辟蹊径,独树一帜,对于刚接触嵌入式程序开发的读者而言,必将大有裨益。同时,对于经验丰富的程序员而言,本书也具有较大的参考价值。
本书兼顾理论与实践。全书首先对调试技术及嵌入式调试手段进行一个概览,然后重点对Linux环境下的嵌入式调试技术进行详细的讲解,最后给出两个综合应用实例:MPEG-4视频播放器的设计和基于GPS的移动定位终端。在编写思路上,本书以理论为先、实践为重;具体到调试技巧和手段上,则全部结合具体实例展开。书中各个实例之间采取从前至后逐步深入的方式,既衔接有序,又便于读者学习。
本书配套光盘包含书中相关的补充资料、与Sitsang评估板相关的工具链和源代码、本书第3~9章的源代码,以及书中使用到的工具和软件库等。
本书既可作为Linux环境下嵌入式软件调试技术从入门到精通的学习用书,也可供从事Linux环境下的嵌入式软件调试的工程人员参考使用。
上篇 基础篇
第1章 软件调试概述
1.1 什么是软件调试
1.2 软件调试的分类
1.2.1 静态调试和动态调试
1.2.2 机器级调试与源码级调试
1.2.3 任务级调试与系统级调试
1.2.4 本地调试与远程(交叉)调试
1.3 软件调试的关键技术——断点
1.3.1 软件断点
1.3.2 硬件断点
1.4 调试器应当遵循的原则
1.4.1 调试器必须反映真实信息
1.4.2 提供尽可能多的程序上下文信息
1.4.3 Heisenberg原则——尽可能减少对被测系统的影响
1.5 嵌入式软件调试手段
1.5.1 软件仿真调试——模拟器
1.5.2 ICE——早期手段
1.5.3 BDM——M68K系列及PowerPC等采用的技术
1.5.4 JTAG——调试领域的后起之秀
1.5.5 调试代理——嵌入式调试的基石
1.6 本章小结
第2章 边界扫描测试技术(JTAG)
……
中篇 系统篇
第3章 学习使用GDB调试器
第4章 GDB远程调试技术
第5章 网络应用程序调试
第6章 多进程与多线程调试
第7章 静态库与动态库的调试
下篇 应用篇
第8章 MPEG-4视频播放器的设计及调试
第9章 基于GPS的移动定位终端
参考文献