1.下载
http://www.gnu.org/software/gdb/download/
下载最新的gdb-7.2.tar.gz
2.简介
GDB使用了autoconf/automake,因此编译时只需配置configure脚本的--target,--host,--prefix等参数就可实现方便的移植。
--target:指定编译环境,一般设置为交叉编译器前缀,ix86-linux,arm-linux等
--prefix;指定安装路径。
--host:指定编译后文件运行平台,一般设置为交叉编译器前缀,ix86-linux,arm-linux等
--program-prefix:将生成可执行文件前加前缀
3.编译安装gdb
nsfww@gdb:#cd /opt
nsfww@gdb/opt:#tar zxvf gdb-7.2.tar.gz
nsfww@gdb/opt:#mkdir gdb
nsfww@gdb/opt:#cd gdb-7.2
nsfww@gdb/opt/gdb-7.2:#./configure --target=arm-linux --prefix=/opt/gdb
nsfww@gdb/opt/gdb-7.2:#make
****此处可能会的错误************
configure:error:no termcap library found
****解决方法********************
nsfww@gdb/opt/gdb-7.2:#apt-get install libncurses5-dev
nsfww@gdb/opt/gdb-7.2:#make install
安装成功会在/opt/gdb/bin下看到以下三个文件
arm-linux-gdb arm-linux-gdbtui arm-linux-run
4为arm-linux-gdb添加环境变量
在添加环境变量之前先确定自己系统没有安装其它版本的arm-linux-gdb,可通过命令
nsfww@gdb/opt/gdb:#arm-linux-gdb --v
如果系统已经安装arm-linux-gdb,但版本不同则最好将已安装版本删除掉,否则会导致后续调试出现问题
*******************************************************************************************
我在安装gdb时没有做这一步的检查,导致最后进行调试过程中因为gdb和gdbserver版本不同经常出现如下错误:******************
***arm-linux-gdb******** ****arm-linux-gdbserver********
#arm-linux-gdb gdbtest
#arm-linux-gdbserver hostIP:portnum gdbtest
****** 一些打印信息
Listening on port portnum
(gdb)target remote bordIP:portnum
Remote debugging using bordIP:portnum
Remote debugging from host hostIP
Couldn't establish connection to remote target readchar:Got EOF
Remote failure reply:EO1
Remote side has terminated connection. (gdb) GDBserver will reopen the connection
******************************************************************************************
将/opt/gdb/bin加入环境变量/etc/profile中
再次验证系统arm-linux-gdb版本为所安装版本及7.2
5.编译安装#arm-linux-gdbserver
nsfww@gdb/opt:#mkdir gdbserver
nsfww@gdb/opt:#cd gdb-7.2/gdb/gdbserver
nsfww@gdb/opt/gdb-7.2/gdb/gdbserver:#./configure --target=arm-linux --host=arm-linux --prefix=/opt/gdbserver
nsfww@gdb/opt/gdb-7.2/gdb/gdbserver:# make CC=arm-linux-gcc
nsfww@gdb/opt/gdb-7.2/gdb/gdbserver:#make install
安装成功会在/opt/gdbserver/bin目录下生成arm-linux-gdbserver文件
6.拷贝/arm/lib目录下libthread_db-1.0.so和生成的rm-linux-gdbserver到开发板
将libthread_db-1.0.so放在开发板/lib目录下
#ln -s libthread_db-1.0.so libthread_db.so.1
#ln -s libthread_db.so.1 libthread_db.so
7.
eclipse + cdt + gdb 进行arm linux 交叉调试
http://zengzhizhuan.blog.163.com/blog/static/142114911201057114211329/
http://www.ibm.com/developerworks/cn/linux/opensource/os-ecbug/