GDB 的安装和配置
一、gdb+gdbserver 总体介绍
远程调试环境由宿主机 GDB 和目标机调试 stub 共同构成,两者通过串口或 TCP 连接。使用
GDB 标准程串行协议协同工作,实现对目标机上的系统内核和上层应用的监控和调试功能。
调试 stub 是嵌入式系统中的一段代码,作为宿主机 GDB 和目标机调试程序间的一个媒介而
存在。
就目前而言,嵌入式 Linux 系统中,主要有三种远程调试方法,分别适用于不同场合的调试
工作:用 ROM Monitor 调试目标机程序、用 KGDB 调试系统内核和用 gdbserver 调试用户空
间程序。这三种调试方法的区别主要在于,目标机远程调试 stub 的存在形式的不同,而其
设计思路和实现方法则是大致相同的。
而我们最常用的是调试应用程序。就是采用 gdb+gdbserver 的方式进行调试。在很多情况下,
用户需要对一个应用程序进行反复调试,特别是复杂的程序。采用 GDB 方法调试,由于嵌
入式系统资源有限性,一般不能直接在目标系统上进行调试,通常采用 gdb+gdbserver 的方
式进行调试。
二、源代码下载
嵌入式 Linux 的 GDB 调试环境由 Host 和 Target 两部分组成,Host 端使用 arm-linux-gdb,
Target Board 端使用 gdbserver。这样,应用程序在嵌入式目标系统上运行,而 gdb 调试在
Host 端,所以要采用远程调试(remote)的方法。进行 GDB 调试,目标系统必须包括 gdbserver
程序(在主机上正对硬件平台编译成功后下载到目标机上),宿主机也必须安装 GDB 程序。
一般 Linux 发行版中都有一个可以运行的 GDB,但开发人员不能直接使用该发行版中的 GDB
来做远程调试,而要获取 GDB 的源代码包,针对 arm 平台作一个简单配置,重新编译得到
相应 GDB。GDB 的源代码包可以从 http://ftp.gnu.org/gnu/gdb/ 下载。但要注意,gdb
的版本需要和 croostool 相匹配。
三、配置编译及安装下载
下载完后,进入/opt/目录,配置编译步骤如下:
#tar jxvf gdb-6.5-tar-bz2
#cd gdb-6.5
#./configure --target=arm-linux --prefix=/usr/local/arm-gdb –v
(--target 配置 gdb 的目标平台,--prefix 配置安装路径,当然其他路径也可以, .跟下
面配置一致即可,须在环境变量中声明,启动 arm-linux-gdb 需要,可更改/etc/profile
或~/.bash_profile 或~/.bashrc,添加 export
PATH=$PATH:/usr/local/arm-gdb/bin,这样可以找到路径)
#make
安装完后,在 make 就 OK 了!
#make install
(生成 arm-linux-gdb,并存入/usr/local/arm-gdb /bin/,查询确认下)
评论0