一般的桌面 Linux 系统,比如 ubuntu、 centos 等,我们可以直接运行 gdb 来调试程序。但是嵌入式中芯片性能一般比较弱,所以直接在嵌入式系统中运行 gdb 不太现实(性能强大的嵌入式芯片可以这么做)。嵌入式系统中一般在 PC 端运行 gdb 工具,源码也是在 PC 端,源码对应的可执行文件放到开发板中运行。为此我们需要在开发板中运行 gdbserver,通过网络与 PC 端的 gdb 进行通信。因此要想在 PC 上通过 gdb 调试嵌入式程序,那么需要两个东西: gdb 和gdbserver,其中 gdb 是运行在 PC 上的, gdbserver 需要我们移植到开发板上。
如果交叉编译器自带了 gdb 和 gdbserver 的话只需要将 gdbserver 拷贝到开发板根文件系统的/bin 目录下,如果交叉编译器没有自带 gdb 和 gdbserver 那就需要自己手动编译了。
1.安装交叉编译器
2. 在编译之前,首先安装 texinfo,否则在编译的过程中会出现以下问题。
sudo apt-get install texinfo
2. 编译源码
下载gdb源码:https://www.sourceware.org/gdb/download/
cd gdb-9.1/ //进入gdb 源码目录
mkdir build //在gd