编译gdbserver和arm-linux-gdb

前言

原创文章欢迎转载,请保留出处。
若有任何疑问建议,欢迎回复。
邮箱:[email protected]

之前我们用buildroot生成带gdbserver的根文件系统,这里顺便介绍如何编译Gdbserver和arm-linux-gdb。

编译arm-linux-gdb

首先下载gdb源码http://ftp.gnu.org/gnu/gdb/,
首先是编译arm-linux-gdb:
解压进入目录后配置并编译安装(注意我们这里用的编译buildroot的arm工具链,在/home/max/qemu/buildroot/buildroot-2012.05/output/host/usr/bin/目录下,可以添加到环境变量,或者修改gdb的Makefile)

./configure --target=arm-linux --prefix=/opt/arm-linux-gdb/ 
make && make install

安装后添加环境变量/opt/arm-linux-gdb/bin
测试arm-linux-gdb:

编译gdbserver

接着是编译gdbserver:
重新解压一份源码,进入目录后
首先要修改Makefile,把gdbserver做成静态链接,避免出现库问题。
编译gdbserver和arm-linux-gdb_第1张图片

其中7.5版本位于385行,添加-static保存退出。
配置并编译安装

./configure --target=arm-linux --prefix=/opt/gdbserver/ --host=arm-linux
make && make install

成功后将gdbserver下载到根文件系统上就可以进行远程调试了

cp gdbserver /nfsroot/rootfs_qtopia_qt4/bin/

编译gdbserver和arm-linux-gdb_第2张图片

注意:可能出现的库问题用apt-get install libncurs*解决,网上其他的各种编译都误解,这是由于工具链本身库问题,使用4.5.1以上的工具链没这个问题。

下篇我们再讨论如何利用gdbserver远程调试C程序和汇编程序。

你可能感兴趣的:(server,gdb,qemu,ARM,buildroot)