嵌入式系统——利用gdb进行远程调试

嵌入式系统——利用gdb进行远程调试

ID:13280737

大小:2.54 MB

页数:16页

时间:2018-07-21

嵌入式系统——利用gdb进行远程调试_第1页
嵌入式系统——利用gdb进行远程调试_第2页
嵌入式系统——利用gdb进行远程调试_第3页
嵌入式系统——利用gdb进行远程调试_第4页
嵌入式系统——利用gdb进行远程调试_第5页
资源描述:

《嵌入式系统——利用gdb进行远程调试》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、浙江大学实验报告课程名称:嵌入式系统实验类型:配置、调试实验项目名称:实验九利用GDB进行远程调试一、实验目的和要求(必填)利用GDB进行远程调试二、实验内容和原理(必填)1.使用GDB对程序进行本地调试,熟悉GDB的基本功能,如br(设置断点),br#if…(设置条件断点),clear#(清除#行断点),run(运行),step(stepinto),pvar(print),setvar(设置变量的值),cont(恢复执行),等2.编译GDBServer,编译GDBClient,利用Minicom将编

2、译好的GDBServer下载到XSBase255然后在目标机上运行GDBServer,(例如,$gdbserver192.168.100.216:1234使目标机(ip=192.168.100.50)监听端口:1234,为宿主机(192.168.100.216)服务),三、主要仪器设备1.XSBase255试验板一块2.PC机一台3.电源等四、操作方法与实验步骤l利用GDB进行本地调试(注意,本试验在本人自己电脑上完成)1.编写源程序bubble.c,使用命令$gcc–g–obubblebubble.

3、c对其进行编译,其中-g开关让编译的目标文件有调试信息。2.使用GDB将编译好的bubblebinary载入图1,载入bubblebinary1.使用list命令查看源代码图2,使用list命令查看源代码1.使用infosource命令查看程序名、目录、文件大小、语言等信息图3,infosource命令查看程序信息2.使用br命令设置断点、br#if…设置条件断点,infobr查看断点信息,clear#清除断点图4,断点设置及查看1.使用命令run(运行),step(stepinto),pvar(pr

4、int),setvar(设置变量的值),cont(恢复执行),等开始调试图5,record[j]和record[j-1]内容被交换图6,数次中断图7,条件中断l利用GDB进行远程调试1.应因为XSBase的芯片PXA255为ARM内核,所以需要使用arm-linux-gcc来编译GDB首先创建临时目录:$mkdir/XSBase/tempcopygdb-5.3.tar.gz到该目录并解压:$cpgdb-5.3.tar.gz/XBASE/temp$cd/XSBase/temp$tarxvzfgdb-5.

5、3.tar.gz运行configure创建makefile,然后make$cdgdb-5.3$./configure--target=arm-linux--prefix=/usr/local/arm-gdb–v$make$makeinstall其中,--target选择了arm-linux作为目标运行平台--prefix确定了makeinstall的安装路径图8,GDBServercompilationcompleted2.GDBClient编译,$cd/XSBase/temp/gdb-5.3$exp

6、ortPATH=$PATH:/usr/local/arm-gdb/bin$./configure--target=arm-linux--host=arm-linux--target和--host选arm-linux是因为XSbase为基于ARM的$cdgdb/gdbserver$makeCC=/usr/local/hybus-arm-linux-R1.1/bin/arm-linux-gcc中间会出现错误……Linux-arm-low.c:26:sys/reg.h:Nosuchfileordirecto

7、ry则修改gdb/gdbserver/config.h文件将#defineHAVE_SYS_REG_H1注释掉编译成功后gdbserver将在gdb/gdbserver目录下生成,此文件为客户端程序,在XSBase中运行图9,GDBClientcompilationfailed图10,修改gdb/gdbserver/config.h后GDBClient编译成功3.编写测试程序/XSBase/temp/test.c#includeMain(){inti;doublej;char*str

8、=NULL;for(i=0;i<5;i++){j=i/2+i;printf(“jis%f”,j);}strcpy(str,”helloworld”);printf(“stris%s”,str);return;}4.开始远程调试将test.c用arm-linux-gcc编译,$/usr/local/hybus-arm-linux-R1.1/bin/arm-linux-gcc–gtest.c–otest使用zmordem将test以及/XSbase/

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。