欢迎来到天天文库
浏览记录
ID:38204561
大小:444.06 KB
页数:4页
时间:2019-05-31
《GDBSERVER原理分析及其应用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第26卷第3期计算机工程与设计2005年3月Vol.26No.3ComputerEngineeringandDesignMar.2005GDBSERVER原理分析及其应用陈必泉,黄承慧(暨南大学计算机科学与工程系,广东广州510632)摘要:GDBSERVER是一个轻量级的运行于目标机上的调试器,在嵌入式Linux系统开发中发挥着重要作用。从源代码层分析了GDBSERVER的实现原理,并介绍了在嵌入式Linux系统开发中使用GDBSERVER进行远程调试的方法。关键词:gdbserver;调试代理;远程调试;嵌入式系统中图法
2、分类号:TP311.6文献标识码:A文章编号:1000-7024(2005)03-0746-04AnalysisofGDBSERVERanditsapplicationCHENBi-quan,.HUANGCheng-hui(DepartmentofComputerScienceandTechnology,JinanUnivesity,Guangzhou510632,China)Abstract:GDBSERVERisalightweightdebuggerwhichrunsontarget,andplaysanimporta
3、ntroleonthedevelopmentofembeddedLinuxsystem.TheimplementationofGDBSERVERisanalyzedfromthesourcecode,andthemethodofremotelydebuggingisintro-ducedusingGDBSERVERinthedevelopmentofembeddedLinuxsystem.Keywords:gdbserver;debuggingagent;remotedebugging;embeddedsystem有一定通用
4、性的调试手段。在嵌入式Linux开发领域里,常用1引言的调试代理工具为GDBSERVER。它是一个轻量级的GDB调当前,在嵌入式处理器领域ARM系列的32位嵌入式芯试器,运行在目标机上,与运行在主机上的GDB通过RSP(Re-片,以其耗电少、成本低、功能强、特有的16/32位双指令集,己moteSerialProtocol)协议进行通讯从而完成远程调试工作。成为移动通信、手持设备、多媒体数字消费等嵌入式解决方案2GDB/GDBSERVER调试技术基础的RISC标准。同时,一些优秀的操作系统被移植到ARM系统中来,如Linux
5、。与其它嵌入式操作系统相比,Linux以其易2.1GDB/GDBSERVER调试模型于移植、效率高、强大的网络功能、代码开放等诸多优势,在嵌调试是软件开发中的重要的一环,它占整个嵌入式系统入式领域得到广泛认同。基于Linux进行开发不但可以使开开发时间的20%-50%。在调试过程中,用户在调试环境的监发人员专注于嵌入式应用软件的开发,而且还使得开发人员视下分析所要调试的程序,发现程序中存在的问题与缺陷,从很容易获得免费的功能强大的开发和调试工具,从而能降低而达到修正程序的目的。实践证明,一个好的调试方法可以成本缩短研发周期。
6、有效帮助程序员查找程序中的错误,从而减少软件开发的时嵌入式系统开发中,使用的是交叉开发模型:软件开发和间。在面向桌面Linux系统的软件开发过程中,可以使用GNU部分测试工作在主机上完成,最终的软件产品要在目标机上提供的工具GDB来对编译好的程序进行本地调试。在嵌入运行。由于开发平台和运行平台的不一致性,嵌入式系统所式Linux开发中,软件的开发平台和运行平台是不一致的,因控制的外部设备的复杂性、可靠性及实时性要求等诸多因素此要在目标机上进行调试,除了在主机上运行的GDB外,还使得嵌入式软件调试非常复杂。目前,嵌入式系统的调
7、试方需要一个运行在目标机上的GDBSERVER调试器。法主要有:实时在线仿真器(ICE).源程序模拟器、线上调试技GDBSERVER是一个轻量级的GDB调试器,它在调试过程中术、使用调试代理((debuggingagent)等。实时在线仿真器是功担任着调试代理的角色。能最强大的软件调试工具之一,但价格昂贵缺乏通用性;源程在调试过程中,主机和目标机之间使用串口或者网络作序模拟器提供的运行环境在许多方面与真实环境有较大差为通信的通道,如图I所示。在主机上GDB通过这条通道使距,因而影响调试效果。线上调试技术利用了微处理器内部用一
8、种基于ASCII的简单通讯协议RSP与在目标机上运行的的仿真功能,为高档嵌入式系统开发提供各种非干扰的调试GDBSERVER进行通讯。GDB发送调试指令,如设置断点、步手段。与前面的方法相比,调试代理则提供了一种价低且具进、内存/寄存器读写。GDBSERVER首先要与运行被调试程收稿日期:
此文档下载收益归作者所有