您现在的位置:网站首页答辩论文计算机毕业设计

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

  • 简介:硕士论文-嵌入式系统可逆调试器的设计与实现,正文共77页。,【摘要】 随着嵌入式系统复杂程度的不断提高,调试越来越被嵌入式系统开发人员所重视。对于诸如嵌入式操作系统和并发程序等具有不确定性的程序,传统的循环调试是不够的。可
    类型:nh    页数:77   
    资料包括:论文 程序   
    • 请与管理员联系购买资料 QQ:5739126
  • 论文简介
  • 相关论文
  • 论文下载
文件大小:4.15MB
适用专业:计算机软件与理论
适用年级:大学
论文编号:202150

论文简介:
硕士论文-嵌入式系统可逆调试器的设计与实现,正文共77页。
【摘要】 随着嵌入式系统复杂程度的不断提高,调试越来越被嵌入式系统开发人员所重视。对于诸如嵌入式操作系统和并发程序等具有不确定性的程序,传统的循环调试是不够的。可逆调试可以很好的解决由于程序的不确定性所带来的很多问题。基于记录与重放的逆向执行技术可以使得程序员通过记录下来的程序执行轨迹回滚到程序的任意点,并重演这一执行过程。这样程序员就可以快速的定位错误的根源,避免了反复重启调试会话的麻烦,同时还可以准确的重放错误的场景。基于开源的模拟器QEMU和通用调试器GDB,本文设计实现了可逆调试器PORD。PORD为嵌入式系统提供了一个高效的交叉可逆调试工具。它可以在通用的X86宿主架构上调试目标架构为ARM,SPARC,PPC或者MIPS的嵌入式系统。程序的执行状态主要包括寄存器状态和内存状态。对于寄存器状态的保存,PORD针对不同的目标架构采用不同的保存方法。而对于内存状态的保存,PORD对于不同的目标架构采用了统一的记录方法。为了减少记录执行轨迹所需要的时间与空间开销,检查点可以采用不同的记录粒度。同时PORD为X86目标架构实现了一个接近于本地执行速度的高效可逆调试器。PORD主要有两部分组成。一个是通过修改QEMU而实现记录与重放功能的虚拟机。另一部分是RGDB。RGDB通过在通用调试器GDB中扩充逆向执行命令而实现。RGDB解析用户命令,并且构建发送调试命令数据包到GDB调试桩。存在于虚拟机端的GDB调试桩解析收到的数据包,之后控制虚拟机执行相应的调试命令。实验表明可逆调试器PORD能够快速高效的重演程序的历史状态。对于调试而言,PORD记录日志的时间与空间开销是可以接受的。
【Abstract】 With the increasing complexity of embedded systems, debugging gains more and more importance and attention from the embedded systems developers. Traditional cyclic debugging is insufficient to debug the non-deterministic systems, such as embeded operating systems, parallel programs. Reversible debugging can address those problems associated with debugging non-deterministic systems. Logging and replaying based reverse execution allows a programmer to navigate backward through the execution history and replay the historic execution path. So the programmer can locate the cause of the failure soon, avoid repeated cyclic debugging and can replay the failure scenario exactly.Based on the open source simulator QEMU and debugger GDB, this paper designs and implementes a reversible debugger referred to as PORD, which provides a cross-platform reversible debugger for embedded systems. It enables the embedded systems in ARM, SPARC, PPC or MIPS instruction set architectures to be debugged on a general-purpose X86 host architecture. Program state mainly consists of registers state and memory state. To the registers state recording, PORD uses different methods for different target architectures. However, this paper uses a unified method to record the memory state for different target architectures. In order to reduce time and space overheads for logging execution trace, checkpoints can be recorded at different levels of granularity. PORD also implements an efficient reversible debugger for X86 target architecture, which enjoys a near native speed.PORD mainly includes two components. One is virtual machine achieving logging and replaying capacity by modifying QEMU. The other one is RGDB realized by integrating reverse execution commands into the general-purpose debugger GDB. RGDB interprets the user commands and sends the command packages to the GDB-Stub via Remote Serial Protocol. GDB-Stub in the virtual machine side is responsible for interpreting the debugging command packages and controlling the virtual machine to execute corresponding actions.The evaluation shows that PORD can replay program’s historic execution path fast and efficiently. The space and time overheads needed to support reverse execution are reasonable for debugging.
【关键词】 嵌入式系统; 虚拟机; 可逆调试; QEMU;
【Key words】 embedded systems; virtual machine; reversible debugging; QEMU;


论文文件预览:
共1文件夹,1个文件,文件总大小:4.15MB,压缩后大小:3.59MB

  • 硕士论文-嵌入式系统可逆调试器的设计与实现
  • nh嵌入式系统可逆调试器的设计与实现.nh  [4.15MB]

查看评论 已有0位网友发表了看法
  • 验证码: