Linux虚拟调试系统关键技术的研究与实现

来源 :电子科技大学 | 被引量 : 0次 | 上传用户:wjt197703
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
目前Linux内核开发工作的工程师们始终没有能找到一种高效、快捷的调试方法。这当然与Linux内核的开源性有关。内核开发者可以根据自己需要来修改内核,这种修改打破了内核的统一。要实现一种适合所有修改内核的调试工具显然不合适,同时由于调试的意图也不一样(查看关键变量值或状态、执行某个逻辑过程、给测试人员使用)要实现统一的调试工具就更加困难。目前常用的Linux内核调试方法有printk,kdb,kprobes,kgdb。其中printk是用户通过在代码中增加打印信息来查看程序的执行情况。它调试手段单一,无法动态调试一些关键逻辑过程,和用户的交互性差。kdb无法直接使用到裁减过的Linux内核上。kprobes工具软件使用复杂,且对使用者要求高。同时对该工具使用需要有一定时间、和经验的积累。kgdb软件适合远程调试,需要两台机器才能搭建好环境,占用过多资源。本文根据实际的工程项目需求,结合Linux内核虚拟文件系统和SCSI中层的软件设计原则提出了VTLS(Virtual Test Layer System)。VTLS以一种统一和具体内核版本无关调试方式提供给开发者、测试者、维护者使用。它能够让内核模块开发者自己决定需要的调试点,并在软件运行过程中动态执行调试代码,即时向用户输出调试结果。开发者自己决定用户态下的输入命令,并且支持多内核模块的调试。该系统同时向测试人员提供测试接口,测试人员只需要在用户态下执行相关命令行就可以调用内核相关例程,并即时查看执行结果。软件后期的维护者可以根据开发者提供的调试手册通过执行对应的调试命令快速排查问题,找出问题的根源,这会大大降低产品的后期维护成本。VTLS系统的KVTM(Kernel Virtual Test Module)设计采用独立性的思想,通过降低和被调试模块间的耦合度提高了系统的稳定性,使得VTLS系统能够在大型的工程项目中发挥其高效的优势。被调试模块只需要调用KVTM的注册函数和注销函数就可以完成向VTLS添加调试命令和注销命令的功能。VTLS系统的UVTM(User Virtual Test Module)通过提供TAB键联想命令、上下键翻转历史命令、编辑错误命令等功能为用户提供最快捷的调试方式。同时KVTM和UVTM采用多样化的通信方式可以避免单点故障,在一种方式交互失败情况下,可以通过其他方式(字符驱动、procfs、io共享)查看甚至修复KVTM的错误。
其他文献
随着计算机电子技术的飞速发展,市场上出现了多种多样的汽车防盗系统。本文运用ARM(Advanced RISC Machines)处理器设计了一个针对使用汽车万能钥匙盗窃汽车的防盗系统。此系
随着计算机及网络的发展,企业的信息化程度在不断提高。但是,传统企业的计算机应用程度不高,还仅仅停留在文档办公、信息发布等简单的业务层面上,企业的各项功能的业务流程控
近年来,由于农产品安全危机频繁发生,严重影响了人们的身体健康,如何实现农产品的可追溯能力,已是非常紧迫。农产品交易系统就是通过RFID技术规范化交易市场的秩序,记录并保
彩色处理是给予灰度图像颜色的处理技术,此技术源自20世纪70年美国NASA阿波罗计划,其目的是分析阿波罗号从外太空获得的图像。随着科技的不断发展,这项技术也逐渐被医疗业,工
校园网建设已经为高校的教学、科研和管理提供了先进的综合信息化环境。构建于校园网之上的数字校园也不断地完善,高校逐步实现了从环境、资源到应用的全面数字化,通过对这些
云计算的按需分配和按量计费的特性和优势,吸引了各大公司和科研机构对其进行开发和部署,并获得了巨大的成功。在众多云计算的应用中,由于可以匹配海量数据共享需求,云存储成
多传感器遥感图像能够提供不同电磁波段、不同入射角、不同成像机理以及不同时相、不同空间分辨率的信息,这些信息之间是可以互相补充的。目前随着遥感技术的迅猛发展,遥感所用
学位
迭代学习控制是一种新兴控制技术,它是智能控制理论的一个分支,特别适合于具有重复运动特性的被控对象。迭代学习控制主要是利用前次或者前几次迭代时的输入信息和所产生的输
随着计算机技术和网络的迅速发展,信息采集、传播无论是在速度还是规模都达到了空前的水平。特别是伴随各种数码电子产品的普及,每天新增的图片数量达到了极高的数量级,如Fac
随着RDF的应用越来越广泛,人们对RDF数据存储与查询的需求也越来越多。传统数据库管理系统已经不能够有效地满足这些需求,需要开发针对RDF数据的管理系统。论文以RDF数据管理