一、GDB 简介
在学习单片机、STM32 时,我们常常使用集成式 IDE 来进行调试,如:MDK、IAR。在嵌入式 Linux 领域我们最常用的就是 GDB 调试工具,通过 GDB 来调试嵌入式 C 程序。
1、什么是 GDB?
【答】:它是 UNIX/LINUX 操作系统下强大的程序调试工具,可以使用 gdb 来一行行的运行程序、单步执行、跳入/跳出函数、设置断点、查看变量等等。
2、GDB 调试和运行位置
由于嵌入式中芯片性能一般比较弱,所以直接在嵌入式系统中运行 gdb 不太现实。因此在 PC 上通过 gdb 在线调试运行在开发板上的嵌入式程序,需要:gdb 和 gdbserver,其中 gdb 是运行在 PC 上的,gdbserver 需要我们移植到开发板上。
(1)嵌入式系统中一般在 PC 端运行 gdb 工具,源码也是在 PC 端,源码对应的可执行文件放到开发板中运行。
(2)在开发板中运行 gdbserver,通过网络与 PC 端的 gdb 进行通信,然后进行在线代码调试。
二、搭建嵌入式 Linux 的 GDB 调试环境
一般交叉编译已经自带 gdb 和 gdbserver,因此我们可以直接将 gdbserver 拷贝到开发板根文件系统 /bin 目录下。