基于内核模式下进程快照的可回溯调试研究及初步实现

来源 :浙江大学计算机科学与技术学院 浙江大学 | 被引量 : 0次 | 上传用户:klyx808
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
在软件开发中,开发人员在调试时花了大量时间。普通的调试器提供了很多帮助,但是调试仍然是一项艰巨的任务。为此开发人员提出了基于快照的回溯调试技术,其中的快照技术很多是在用户态实现的。在本文中,我们在gdb的基础上通过修改内核,实现了一个基于内核模式下进程快照的可回溯调试器原型。快照被广泛应用在容错技术中,用来减少应用程序崩溃后恢复运行时浪费的CPU运行时间。在文中主要讨论了一种通过修改内核实现进程快照,并且把快照与调试工具结合起来的方法。本文首先介绍了国内外调试技术和进程快照技术的研究进展,接着介绍了通过修改Linux内核实现进程快照的方法。本文着重介绍了基于内核模式的进程快照的可回溯调试技术,主要有两部分组成:通过修改内核实现进程快照和把快照技术集成到gdb调试器的研究与实现。在修改内核实现进程快照的研究中,设计了基于elf格式的snap进程快照文件格式,讨论了保存和恢复进程用户态和内核态信息的方法,并且设计了快照生成工具generate_snap和snap文件查看工具dump_snap。通过修改内核,添加binfmt_elf_snap.ko模块文件,使内核能够直接装载进程的snap快照文件。在把进程快照技术与gdb调试器集成的研究中,讨论了gdb的架构,并且通过对gdb的扩充,使gdb能够支持从snap文件读取符号信息进行调试。此外,在gdb中添加了一些命令使gdb能够生成快照文件,并切换到某一快照点进行调试。实验结果表明,该方法可以方便地在调试器中实现回溯调试,并且极大地提高了调试效率。
其他文献
随着嵌入式系统的飞速发展,嵌入式系统开发工具在开发过程中所起的作用日益突出,相关的研究、技术也随之不断更新。嵌入式交叉调试器是嵌入式系统开发者使用最多的工具,也是
随着互联网和信息技术在各个领域的深入应用,存储在各个信息系统中的信息大量增加。一方面,这些信息分布广泛、管理自治和异构性强的特点严重阻碍了各个数据源之间的数据交换;另
随着突发事件危害程度和影响范围的扩大,应急管理需要跨部门共享信息资源。由于应急业务系统间存在的数据、协议、平台等异构性,造成彼此数据交换困难,如何实现业务系统间的
随着网络技术的迅猛发展,电子商务作为一种全新的企业经营手段迅速发展并逐渐成熟。基于移动Agent的第三代电子商务系统,克服了传统电子商务技术的不足,有着巨大的应用前景。信
近年来,随着RFID(Radio Frequency Identification,射频识别)技术的成熟,RFID在物流管理、金融等领域内的应用优势正逐步凸显,具有广泛的应用前景。在国内,由于引入RFID技术
服务质量(QoS)路由技术是在Ad Hoe网络中应用多媒体业务的关键问题。目前Ad Hoc网络中的QoS路由还存在着不少期待解决的问题。本文在深入研究和分析现有QoS路由协议的基础上,
随着海洋科学的快速发展,海洋信息资源的地位越来越高,如何保证信息之间的共享和流动也成为了当前研究的重点。海洋信息学科众多,种类复杂,尤其是各个研究机构并没有统一的数
在信息时代,随着互联网的发展,人类积累了海量数据。激增的数据背后隐藏着许多重要的信息,人们希望能够对其进行更高层次的分析,以便更好地利用这些数据,因而数据挖掘显得越来越重
图像是因特网上内容的一个重要组成部分,它能够直接、形象的表达信息。随着数字照相设备和具有拍照功能的手机的普及,数字图像的数量正在急剧的膨胀。与此同时,图像信息的应
车载自组织网络的一个重要特征是车辆节点具有很快的移动速度,尤其在高速公路场景中。车辆节点的快速移动特性,造成车载网络拓扑结构的动态变化,导致自组织网络中多跳(multi-