1、linux gdb调试技术,Linux gdb(本地) Gdb 远程调试,Linux gdb(本地),Linux gdb简介 Gdb 主要命令列表,Linux gdb简介,GDB是一个功能强大、运行稳定的程序调试工具,通过与gcc的配合使用,为基于linux的软件开发提供了一个完善的调试环境。 在使用GDB调试程序之前,可执行程序编译选项应该加上 -g -g3 包括所有的调试信息。,Linux gdb主要命令列表,调试实例:源程序,/sum.c #includeint CallSum(int a) int b;int bSum=0;for(b=1;b=a;b+)bSum+=b;return b
2、Sum; ,int main(int argc, char* argv) int MySum;int x;printf(“please input a number“);scanf(“%d“, ,调试实例:编译调试,编译: gcc g3 -Wall -o sum sum.c,调试:gdb sum /进入gdb调试 break main /设置断点 run /运行程序 watch MySum /设置一个监测点 s /单步 . .,Gdb 远程调试简介,远程调试环境由宿主机GDB和目标机调试GdbServer共同构成,两者通过串口或TCP连接。使用GDB标准程串行协议协同工作,实现对目标机上的系统
3、内核和上层应用的监控和调试功能。 GdbServer是嵌入式系统中的一段代码,作为宿主机GDB和目标机调试程序间的一个媒介而存在。,Gdb 远程调试简介,统资源有限性,一般不能直接在目标系统上进行调试,通常采用gdb+gdbserver的方式进行调试。Gdbserver在目标系统中运行,gdb则在宿主机上运行。 gdb+gdbserver是最常用的调试应用程序的方式,Gdb 远程调试:下载,一般linux发行版中都有一个可以运行的gdb,但开发人员不能直接使用该发行版中的gdb来做远程调试,而要获取gdb的源代码包,针对arm平台作一个简单配置,重新编译得到相应gdb 。 gdb官方网址 -
4、http:/www.gnu.org/software/gdb/gdb.html gdb下载地址 - http:/ftp.gnu.org/gnu/gdb/,Gdb 远程调试:配置编译,配置编译gdb 配置编译gdbserver,Gdb 远程调试:配置编译gdb,#tar -xzvf gdb-6.4-tar-gz #cd gdb-6.4 #./configure -target=arm-linux -prefix=/root/gdb/gdb-install #make #make install#export PATH=$PATH:/ root/gdb/gdb-install/bin,Gdb 远程
5、调试:配置编译gdbserver,#cd gdbserver #./configure -target=arm-linux host=arm-linux -prefix=/root/gdb/gdb-install #make CC=arm-linux-gcc #make install,至此,arm-linux-gdb和gdbserver两个工具生成。,Gdb 远程调试实例 (1)编译下载,交叉编译sum程序,将sum程序和 gdbserver复制到目标机上。,Gdb 远程调试实例 (2)启动gdbserver,#./gdbserver 192.168.0.253:1234 sum,Gdb 远程调试实例 (3)启动arm-linux-gdb,#export PATH=$PATH:/root/gdb/gdb-install/bin #arm-linux-gdb sum(GDB) target remote 192.168.0.105:1234,至此,可以输入gdb命令进行调试了。,