- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于动态二进制翻译优化的间接调试器设计.doc
基于动态二进制翻译优化的间接调试器设计
郭惠芳
摘要:在实现自主研发的系统级仿真平台时,为了提高系统仿真平台的运行效率使用了各种动态二进制翻译优化策略,而这些优化策略给间接调试器的各种功能实现带来了困难,另一方面,对于系统级程序的间接调试,调试时的实现效率也是需要考虑的,本文提出了在动态二进制翻译优化策略下各种基本调试功能的实现方法,基本不影响调试时运行效率的情况下,解决了时钟中断处理对单步调试的影响,实现了翻译代码缓存块中断点的判定。
关键词:动态二进制翻译;调试器;间接调试代理;翻译代码缓冲;翻译代码块链
The Design of Indirect Debugger Based on
Dynamic Binary Translation and optimization
GUO Hui-Fang, JIANG Lie-Hui, DONG Wei-Yu, HE Hong-Qi, CHANG Rui
(PLA Information Engineering University, Zhengzhou Henan 450002 , China)
【Abstract】In order to improve the performance of the system emulator we designed by ourselves, We used some optimization methods of dynamic binary translation in our emulator. However, these optimization methods caused some implementation of indirect debugger functions difficult. In addition, it is important for a system emulator to realize an effective debugger. The paper presents an implementation of the basic debug function based the optimization of the dynamic binary translation. We remove the side-effect of time interrupt from the procedure of single step debugging and complete interruption determination in the translation code cache without conspicuous performance decline.
【Keywords】Dynamic binary translation; Debugger; Indirect debugging agency; Translation code cache; Translation code block chain
1. 引言
系统级仿真平台是在一个系统结构上用软件实现了另一个系统结构,并且在其上可运行另一个结构的操作系统及各种应用,前者称为宿主机,后者称为虚拟机或客户机。它在系统软件的调试、分析以及在异构结构上设计、调试软件等领域有着广泛的应用[1]。开发一个系统级仿真平台不仅需要本地的调试工具的支持,还需要有调试客户机上操作系统及应用程序的间接调试工具。它不仅在仿真平台的开发阶段用于发现仿真器本身的缺陷,而且也用于对仿真平台上运行的应用程序进行调试。
现有的基于动态二进制翻译技术的系统仿真器都提供了一定的调试支持,Tdb为动态翻译程序提供了一个源代码级调试器[2],Qemu实现了GDB的基本调试协议[3],Dynamo和DynamoRIO实现了一个底层调试支持[4],它们仅适用于它们自身的平台,大部分系统仅是应用级的仿真[5,6,7],部分系统仅支持源代码级的调试[2],或使用中间代码的结构实现[8,9],为了探索国产系统上系统级仿真器更为高效的实现方法,我们自主研发了一个由x86至一款国产CPU的系统级仿真器[10,11],在其上我们实现了基于各种动态二进制翻译优化策略的间接调试框架,为了兼顾运行效率和功能两方面的要求,在开发系统级仿真器的调试框架需要解决下面几个问题。
首先,通过什么机制使系统级仿真器能够在控制其上程序运行过程中去响应调试器的命令?其次,为了加快源代码向目标代码翻译的过程,我们实现了翻译的目标代码缓存机制,这种情况下如何实现断点的识别及控制?再者,对于系统级仿真器来说,时钟中断的处理程序也是通过动态翻译后执行的,这时如果需要使用单步调试客户机上的系统程序,如何避免
您可能关注的文档
- 基于ARM的银行叫号调度系统.doc
- 基于ATC单片机的LCD电子时钟设计.doc
- 基于ATC单片机的LED显示屏设计.doc
- 基于Atmega单片机SD卡读写程序免费分享.doc
- 基于ATS单片机核心的温度控制系统的设计.doc
- 基于ATS单片机的电子密码锁下载送原程序、论文与指导等.doc
- 基于ATs数字钟开题报告.doc
- 基于ATS智能语音温度计的设计附电路图及程序.doc
- 基于AVR单片机的智能跑步机控制器设计.doc
- 基于AVR和MCS的光源自动跟踪的太阳能电池控制系统的设计方案.doc
- 中国国家标准 GB/T 22517.2-2024体育场地使用要求及检验方法 第2部分:游泳场地.pdf
- GB/T 22517.2-2024体育场地使用要求及检验方法 第2部分:游泳场地.pdf
- 《GB/T 22517.2-2024体育场地使用要求及检验方法 第2部分:游泳场地》.pdf
- 苏教版(2017秋)科学三年级下册1.《种子发芽了》 教案(含课堂练习和反思).docx
- 2024-2025学年小学数学六年级上册冀教版(2024)教学设计合集.docx
- 地理商务星球版七年级上册4.5形成气候的主要因素 同步教案.docx
- 2024-2025学年中职中职专业课金融类73 财经商贸大类教学设计合集.docx
- 2024-2025学年初中地理七年级上册(2024)仁爱科普版(2024)教学设计合集.docx
- 2024-2025学年小学英语二年级上册外研版(一起)教学设计合集.docx
- 2024-2025学年高中数学选择性必修 第二册北师大版(2019)教学设计合集.docx
文档评论(0)