嵌入式Linux的GDB调试环境由Host和Target两部分组成,Host端使用arm-linux-gdb,Target Board端使用gdbserver。调试时,应用程序在嵌入式目标系统上运行,而gdb调试在Host端。gdb调试的时候,pc机上的gdb向开发板上的gdbserver发出命令,而开发板上的gdbserver就会向应用程序发出信号,使应用程序停下来或者完成其他一些工作!一般Linux发行版中都有一个可以运行的GDB,但开发人员不能直接使用该发行版中的GDB来做远程调试,而要获取GDB的源代码包,针对arm 平台作一个简单配置,重新编译得到相应GDB。
1 、编译安装gdb:首先下载gdb源码,我下载的是gdb-6.6.tar.gz
#tar xvzf gdb-6.6.tar.gz
#cd gdb-6.6
#./configure --target=arm-linux --prefix=/usr/local/arm-gdb -v (注意此时是root登陆,因为安装目录在/usr/local)
(--target配置gdb的目标平台,--prefix配置安装路径,当然其他路径也可以,跟下面配置一致即可,须在环境变量中声明,启动arm-linux-gdb需要,可更改/etc/profile或~/.bash_profile或~/.bashrc,添加:
export PATH=$PATH:/usr/local/arm-gdb/bin,这样可以找到路径)
#make
#make install(生成arm-linux-gdb,并存入/usr/local/arm-gdb/bin/,查询确认