嵌入式系统可逆调试器的设计与实现

被引量 : 0次 | 上传用户:gjb
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着嵌入式系统复杂程度的不断提高,调试越来越被嵌入式系统开发人员所重视。对于诸如嵌入式操作系统和并发程序等具有不确定性的程序,传统的循环调试是不够的。可逆调试可以很好的解决由于程序的不确定性所带来的很多问题。基于记录与重放的逆向执行技术可以使得程序员通过记录下来的程序执行轨迹回滚到程序的任意点,并重演这一执行过程。这样程序员就可以快速的定位错误的根源,避免了反复重启调试会话的麻烦,同时还可以准确的重放错误的场景。基于开源的模拟器QEMU和通用调试器GDB,本文设计实现了可逆调试器PORD。PORD为嵌入式系统提供了一个高效的交叉可逆调试工具。它可以在通用的X86宿主架构上调试目标架构为ARM,SPARC,PPC或者MIPS的嵌入式系统。程序的执行状态主要包括寄存器状态和内存状态。对于寄存器状态的保存,PORD针对不同的目标架构采用不同的保存方法。而对于内存状态的保存,PORD对于不同的目标架构采用了统一的记录方法。为了减少记录执行轨迹所需要的时间与空间开销,检查点可以采用不同的记录粒度。同时PORD为X86目标架构实现了一个接近于本地执行速度的高效可逆调试器。PORD主要有两部分组成。一个是通过修改QEMU而实现记录与重放功能的虚拟机。另一部分是RGDB。RGDB通过在通用调试器GDB中扩充逆向执行命令而实现。RGDB解析用户命令,并且构建发送调试命令数据包到GDB调试桩。存在于虚拟机端的GDB调试桩解析收到的数据包,之后控制虚拟机执行相应的调试命令。实验表明可逆调试器PORD能够快速高效的重演程序的历史状态。对于调试而言,PORD记录日志的时间与空间开销是可以接受的。
其他文献
背景与目的:上皮样肉瘤是一种少见的软组织肉瘤,多表现为肢体远端的结节或溃疡性病变,可通过腱鞘局部播散、淋巴道和血道转移。因其切除后易复发转移、有较高的淋巴结转移率
在新能源领域,我国已经取得了突破性的进展,但国内中小型并网系统存在难以扩容和可移植性差等问题。为此本文提出一种具有模块化结构的组合式并网逆变器的控制方案:以单机容
我国的创业板市场在经历了10年的筹划决策期后,于2009年10月30日正式开市交易,为完善我国的资本市场体系迈出了坚实的一步。但在创业板上市的企业为创新型中小企业,发展前景
全球有超过3.5亿HBV慢性感染患者,乙型肝炎病毒(hepatitis B virus, HBV)感染可引起急慢性肝炎,肝硬化及肝细胞癌等,严重危害着人类的健康。虽然乙型肝炎的发病机制仍不完全
工程复合材料构件正在逐渐由小型化向大型化转变。近年来典型巨型玻璃纤维增强聚合物基复合材料(GFRP)工程构件——风力发电机叶片的研发和生产发展迅速,所用层合板部件的厚
红二十五军长征中至少"扩红"2300多人,成效显著。红二十五军长征中"扩红"工作的开展和成效与其长征中各个阶段的战略目标紧密相联,向豫陕边转移和西征北上这两个阶段"扩红"甚
<正>交互式电子白板能创设图文并茂、声色俱佳、生动逼真的教学环境,有利于提高学生的学习兴趣,激发学习热情,能起到事半功倍的教学效果,因而是提高小学语文教学效率的重要手
改革开放以来,我国经济得到了飞速发展,审计的作用也越来越重要。在经济展壮大的过程中,我国企业的规模不断扩大,实力也越来越强,形成了一批具有一定规模的企业集团。随着企
条件接收 (CA)是数字电视广播开展视频信息服务的重要保证。本文介绍了数字电视广播中的CA系统、安全保密技术的原理、以及同密、多密和通用接口的实现模式 ,并对CA系统的发