C语言源码级调试器的设计与实现.pdf

C语言源码级调试器的设计与实现.pdf

ID:51494645

大小:697.82 KB

页数:5页

时间:2020-03-25

C语言源码级调试器的设计与实现.pdf_第1页
C语言源码级调试器的设计与实现.pdf_第2页
C语言源码级调试器的设计与实现.pdf_第3页
C语言源码级调试器的设计与实现.pdf_第4页
C语言源码级调试器的设计与实现.pdf_第5页
资源描述:

《C语言源码级调试器的设计与实现.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、万方数据2011年第5期计‘算机与现代化JISUANJIYUXIANDAIHUA总第189期文章编号:1006-2475(2011)05-0157-.04C语言源码级调试器的设计与实现赵香,耿锐,黄光红(中国电子科技集团公司第38研究所集成电路设计中心,安徽合/It..230031)摘要:调试器在嵌入式软件开发过程中起着重要的作用。本文设计并实现c语言的源码级调试器,文中描述C语言源码级调试器的设计方案,重点介绍调试器设计中两个核心模块:调试信息提取存储模块和调试功能模块的设计,并给出实现结果。关键词:源码级调试器;ELF文件;Stabs中图分类号:TP31

2、1文献标识码:Adoi:10.3969/j.issn.1006-2475.2011.05.045DesignandImplementationofCSourceLevelDebuggerZHAOXiang,GENGRui,HUANGGuang—hong(IcDesi弘Center,No.38Institute,ChinaElectronicsTechnologyGroupCorporation,Hefei230031,China)Abstract:Debuggerplays如importantroleinthedevelolclmentofembeddeds

3、oftware.ThispaperintroducesthedesignofClouisehvddebugger,speciallyintwokeymodules:howtOgetandstorethedebuginformation,andhowtodesigndebugfune-tion.Atlast,thepapershowstheimplementofCsourceleveldebugger.Keywords:sourceleveldebugger;ELFFile;Stabs0引言在嵌入式软件开发中,调试器是必不可少的工具,它能有效地帮助开发人员发现

4、并解决问题,缩短软件开发周期。目前,国外在调试器研发领域的发展较快,无论是独立调试器还是集成在软件开发环境中的调试器,都具有强大的调试功能,如GDB、ADI公司的VisualDSP、WindRiver公司的SingleStep等。国内调试器的研发较为落后,普遍采用国外产品。随着目标处理器的集成度越来越高,设计越来越复杂,对配套的软件集成开发环境要求也越来越高。因此,设计并实现具有独立知识产权的嵌入式软件集成开发环境中的调试器具有重要的意义。本文所设计的调试器是面向C语言的源码级调试器。该调试器基于ELF格式目标文件,结合断点运行操作设计,可作为独立的调试软件

5、使用,也易于软件开发环境集成。该调试器支持两种调试方式:本地调试和远程调试LlJ。本地调试是指编译和调试均在本地计算机,远程调试是指被调试程序在本地计算机编译后,将可执行文件加载到远程目标处理器上运行、调试。1C语言源码级调试器设计C语言源码级调试器的设计包括4个模块:用户接口、调试焦息提取存储模块、调试功能模块和通信模块。其中,调试信息提取存储模块、调试功能模块是调试器设计的两个核心模块。总体设计框图如图I所示。用户接口调试信息提取存储调试功能远程通信软件模拟器

6、

7、目标处理器图I调试器设计框图用户接口:是提供给用户的一个调试命令集合。调试信息提取存储:为调

8、试功能的实现提供调试收稿日期:201l-03-21作者简介:赵香(1983·),女,陕西蓝田人,中国电子科技集团公司第38研究所集成电路设计中心助理工程师,硕士,研究方向:计算机体系结构;耿锐(1975-),男,安徽淮南人,工程师,硕士,研究方向:计算机体系结构;黄光红(1982.),男,安徽安庆人,助理工程师,硕士,研究方向:计算机体系结构。万方数据158计算机与现代化2011年第5期信息,是实现调试功能的基础。提取是从调试目标文件中提取各种调试信息,如行号表、符号表、源文件信息等。存储是将提取的调试信息合理高效地保存,便于使用查询。调试功能:调试器设计的

9、核心模块之一,包括所有的调试功能,如单步、断点、查看变量等。通信模块:负责调试功能模块与软件模拟器和目标处理器的通信,传输控制命令和其它调试信息。通信的过程采用应答的方式,即调试器发送一条调试命令到目标机,目标机接收调试命令并执行命令,目标机再给调试器返回调试结果,也就是命令一应答的方式HJ。2C语言源码级调试器核心模块功能设计调试信息提取存储和调试功能模块是C语言源码级调试器设计的两个核心模块,下面详细介绍这两个模块的设计。2.1调试信息提取和存储H】ELF(ExecutableandLinkingFormat)是Unix系统实验室(USL)作为应用程序二

10、进制接I:1(Applica.tionBinaryI

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

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

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