1. 下载源码包

gdb下载地址:
http://www.gnu.org/software/gdb/
http://ftp.gnu.org/gnu/gdb (mirrors)
ftp://sourceware.org/pub/gdb/releases/ (mirrors).

这里下载和使用的是gdb-7.12.tar.gz,放在~/Downloads下。

视编译情况下载下面的依赖库,能编译过无需下载。

依赖库ncurses,这里下载的是ncurses-5.9.tar.gz,放在~/Downloads下。
https://www.gnu.org/software/ncurses/

依赖库termcap,这里下载的是termcap-1.3.1.tar.gz,放在~/Downloads下。
http://ftp.gnu.org/gnu/termcap/

2. 交叉编译GDB

1.解压gdb-7.12.tar.gz到gdb-7.12
2.进入gdb-7.12目录

cd gdb-7.12

3.配置编译环境

./configure CC=mipsel-linux-gcc --target=mipsel-linux --host=mipsel-linux  --prefix="$PWD/mayue_install"

4.编译和安装

make 
make install

编译过程报错:对‘_obstack_free’未定义的引用
https://blog.csdn.net/Chasing_Chasing/article/details/89399798

在 make install 的过程中,报错: makeinfo is missing on your system
https://blog.csdn.net/wubw0585/article/details/88061631

5.若重新操作编译,需要操作下面两步

make clean -w
make distclean

3. 交叉编译gdbserver

情况一:交叉编译GDB,会同时gdbserver

情况二:主机运行gdb,开发板运行gdbserver,因为编译工具链不一样,所以需要单独编译gdbserver

下面介绍单独交叉编译gdbserver的情况

1.进入gdbserver目录

cd gdb-7.12/gdb/gdbserver

2.配置交叉编译环境

./configure --target=mipsel-linux --host=mipsel-linux --program-prefix=mipsel-linux- --prefix="$PWD/mayue_install"

3.编译和安装

make
make install

4. 设备GDB调试

GDB调试的三种方式:

目标板直接使用GDB进行调试。

目标板使用gdbserver,主机使用xxx-linux-gdb作为客户端。

目标板使用ulimit -c unlimited,生成core文件;然后主机使用xxx-linux-gdb ./test ./core。

详情参考:
https://blog.csdn.net/mayue_web/article/details/106770773

5. 参考资料

https://www.cnblogs.com/jacob1934/p/4310333.html
https://www.cnblogs.com/lidabo/p/5645653.html
http://www.360doc.com/content/14/0211/09/15515903_351539373.shtml

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐