文件名称:
gdb+gdbserver安装,配置和调试
开发工具:
文件大小: 282kb
下载次数: 0
上传时间: 2019-04-20
详细说明:就目前而言,嵌入式Linux系统中,主要有三种远程调试方法,分别适用于不同场合的调试工作:用ROM Monitor调试目标机程序、用KGDB调试系统内核和用gdbserver调试用户空间程序。这三种调试方法的区别主要在于,目标机远程调试stub 的存在形式的不同,而其设计思路和实现方法则是大致相同的。
而我们最常用的是调试应用程序。就是采用gdb+gdbserver的方式进行调试。在很多情况下,用户需要对一个应用程序进行反复调试,特别是复杂的程序。采用GDB方法调试,由于嵌入式系统资源有限性,一般不能直接在目标系统上进行调试,通常采用gdb+gdbserver的方式进行调试。最后一行显示: This GDB was configured as"--host=i686-pC-inux-gnu,
target=arm-inux"…,如果不一致说明arm-inux-gdb有问题
说明此gdb在X86的Host上运行,但是调试目标是ARM代码
(gdb) target remote 192. 168.2.223: 2345
(192.1682.223为开发板IP)
出现提示:
Remote debugging using 192.168.2.223: 2345
[New thread 80]
Switching to thread 80]
0×40002a90in??()
同时在 minicon下提示
Remote debugging from host 192.168.2.100
(gdb)
注意:你的端口号必须与 gdbserver开启的端口号一致,这样才能进行通信。建立链接后,
就可以进行调试了。调试在Host端,跟gdb调试方法相同。注意的是要用νc"来执行命令,
不能用r"。因为程序已经在 Target board上面由 gdbserver启动了。结果输出是在
Target Board端,用超级终端查看。连接成功,这时候就可以输入各和GDB命令如list、
run、next、step、 break等进行程序调试了。
以上针对通过 nfs mount和tftp的方式,只能在主札上调试好后下载到廾发板上运行,如
果有错误要反复这个过程,繁琐不说,有些程序只能在开发板上调试。所以笔者采用了
gdbserver的远程调试方式。希望对大家调试程序有用!
五、如何利用串口调试
如果你用串口1调试 hello的话,你就要现在板子上运行命令
gdbserver hello/dev/tys0(详情可以参考 gdbserver目录下的 readme文件)
这时 gdbserver就在等待gdb的应答信号了
然后在pc机上运行命令
XXX- linux-gdb hello
在 XXx-inux-gdb里敲入入下命令:
set remotedevice/dev/tyso(这里设置串口1)
set remote baud9600(这里设置串口波特率)
set debug remote1(可选)
target remote/dev/ttyso
操作到这儿,gdb就应该和 gdbserver联系上了。
六、实战调试
1.编辑文件
#ⅵ i gdbtest c
1 #include
4 func(int n)t
5 int sum=0.i
6for(|=0;i Debug Configurations-> Zylin Embedded debug( Native)
新建一个调试配置
进入main选项卜,选择要调试的C/C++工程;
进入 debugger选项卡,选择交叉编译的gdb的路径,例如我的是
/usr/local/arm-linux/ bin/arm -linux-gdb;
进入 commands选项卡,在初始化命令里填写目标板的P和端口,例如 target remote
108835.161:1234;
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.