学位论文 > 优秀研究生学位论文题录展示

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

作 者: 王艳
导 师: 刘西洋
学 校: 西安电子科技大学
专 业: 计算机软件与理论
关键词: 嵌入式系统 虚拟机 可逆调试 QEMU
分类号: TP368.1
类 型: 硕士论文
年 份: 2009年
下 载: 36次
引 用: 0次
阅 读: 论文下载
 

内容摘要


随着嵌入式系统复杂程度的不断提高,调试越来越被嵌入式系统开发人员所重视。对于诸如嵌入式操作系统和并发程序等具有不确定性的程序,传统的循环调试是不够的。可逆调试可以很好的解决由于程序的不确定性所带来的很多问题。基于记录与重放的逆向执行技术可以使得程序员通过记录下来的程序执行轨迹回滚到程序的任意点,并重演这一执行过程。这样程序员就可以快速的定位错误的根源,避免了反复重启调试会话的麻烦,同时还可以准确的重放错误的场景。基于开源的模拟器QEMU和通用调试器GDB,本文设计实现了可逆调试器PORD。PORD为嵌入式系统提供了一个高效的交叉可逆调试工具。它可以在通用的X86宿主架构上调试目标架构为ARM,SPARC,PPC或者MIPS的嵌入式系统。程序的执行状态主要包括寄存器状态和内存状态。对于寄存器状态的保存,PORD针对不同的目标架构采用不同的保存方法。而对于内存状态的保存,PORD对于不同的目标架构采用了统一的记录方法。为了减少记录执行轨迹所需要的时间与空间开销,检查点可以采用不同的记录粒度。同时PORD为X86目标架构实现了一个接近于本地执行速度的高效可逆调试器。PORD主要有两部分组成。一个是通过修改QEMU而实现记录与重放功能的虚拟机。另一部分是RGDB。RGDB通过在通用调试器GDB中扩充逆向执行命令而实现。RGDB解析用户命令,并且构建发送调试命令数据包到GDB调试桩。存在于虚拟机端的GDB调试桩解析收到的数据包,之后控制虚拟机执行相应的调试命令。实验表明可逆调试器PORD能够快速高效的重演程序的历史状态。对于调试而言,PORD记录日志的时间与空间开销是可以接受的。

全文目录


摘要  3-4
Abstract  4-7
第一章 绪论  7-13
  1.1 研究背景  7-8
  1.2 国内外研究现状  8-10
  1.3 研究内容  10
  1.4 本文的组织结构  10-13
第二章 嵌入式系统可逆调试的相关技术  13-25
  2.1 嵌入式系统交叉调试  14-16
    2.1.1 硬件调试器  14-16
    2.1.2 软件调试器  16
  2.2 动态二进制翻译技术  16-21
    2.2.1 二进制翻译方法分类  17-18
    2.2.2 二进制翻译系统综述  18-21
  2.3 二进制植入技术  21-22
  2.4 逆向执行技术  22-25
    2.4.1 基于检查点的执行重放技术  22-23
    2.4.2 基于系统调用fork的执行重放技术  23-25
第三章 基于QEMU的增量检查点设计与实现  25-49
  3.1 QEMU的总体框架  25-29
    3.1.1 QEMU的运行模式  25-26
    3.1.2 QEMU地址空间方案  26-27
    3.1.3 QEMU上层架构  27-29
  3.2 QEMU的执行流程  29-36
    3.2.1 QEMU的动态二进制翻译机制  29-34
    3.2.2 系统调用的模拟  34-36
  3.3 增量检查点设计与实现  36-49
    3.3.1 检查点的设计  37-38
    3.3.2 寄存器状态保存  38-41
    3.3.3 内存状态的记录  41-46
    3.3.4 系统调用模拟  46-49
第四章 可逆调试器PORD的设计与实现  49-59
  4.1 可逆调试器PORD的总体架构  49-50
  4.2 基于检查点的可逆执行  50-52
    4.2.1 寄存器状态重建  51
    4.2.2 内存状态重建  51-52
  4.3 RGDB的设计与实现  52-59
    4.3.1 逆向调试命令的实现方式  53-55
    4.3.2 GDB调试桩的实现  55-59
第五章 实验验证  59-65
  5.1 交叉编译工具链的构建  59-60
  5.2 实验环境与实现选取  60-61
  5.3 性能测试  61-65
第六章 总结与展望  65-67
致谢  67-69
参考文献  69-73
作者在读研期间的研究成果  73-75
附录  75-77

相似论文

  1. 汽车的电动助力转向系统,U463.4
  2. 基于ARM9的Windows CE系统移植,TP316.7
  3. 基于嵌入式图像处理单元的运动目标跟踪系统研究,TP391.41
  4. 面向嵌入式超声检测系统的图形接口设计与应用,TP274.53
  5. 多线阵CCD视觉测量系统的数据采集与处理,TP274.2
  6. LXI-VXI适配器研制,TP274
  7. 高性能恒温晶体振荡器温度控制系统的研究,TN752
  8. 嵌入式中医经脉理疗仪的研究,R197.39
  9. 基于windows xp嵌入式系统的心电检测分析仪,R197.39
  10. 基于嵌入式系统钻孔成像装置的研究,P634.3
  11. 一体化能量回馈电梯驱动控制系统实现,TP273
  12. 智能控制的电力核相技术研究,TP368.1
  13. 基于μC/OS-Ⅱ的红外辐射测温系统研究,TN215
  14. 基于DSP的双丝焊机及人机界面研究,TG409
  15. 基于数字虚拟机的雷达装备网络化训考系统研究,TN957
  16. 基于WiFi的无线虚拟存储系统,TN929.5
  17. 嵌入式网络视频应用技术的研究与实现,TP368.1
  18. 基于启发式算法的恶意代码检测系统研究与实现,TP393.08
  19. 小型移动机器人系统平台的模块化设计与实现,TP242
  20. 柴油机测试仪表校验仪及综合信息管理系统研究,TK426
  21. Java卡性能优化技术研究,TN409

中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 微型计算机 > 各种微型计算机 > 微处理机
© 2012 www.xueweilunwen.com