基于 Linux 的 GCC 与 GDB 应用程序调试

GNU 的正确发音为[g'noo],名称由英文句子GNU's Not Unix递归缩写组成,是一项由自由软件基金会推动的操作系统计划。GNU 计划最早开始于 1984 年 1 月,目标是完成一个由Hurd内核与一系列应用程序、系统库、开发工具组成的GNU 操作系统。但由于 Hurd 的开发工作迟迟未能完成,因而普遍选择采用 Linux Kernel 作为操作系统的内核,这一套技术组合正是闻名遐迩的 GNU/Linux 操作系统。

GCCGDB 组成的编译套件正是 GNU 计划下诞生的优秀开源项目,也是 GNU/Linux 技术体系不可或缺的构成要素。虽然当前 ClangLLVM 编译套件的发展风头正劲,但是由于嵌入式 Linux 设备通常只提供基于 GCC 的交叉编译工具链,加之两者在使用上差异不大,而 GDB 又同时提供了两者编译后程序的完整 Debug 支持,因而笔者依然选择 GCCGDB 组合来作为本文的撰写的目标。

阅读更多