首页> 中文学位 >基于Xen的Linux内核源码调试器设计
【6h】

基于Xen的Linux内核源码调试器设计

代理获取

目录

封面

声明

中文摘要

英文摘要

目录

第一章 绪论

1.1 研究背景

1.2 研究目标

1.3 国内外研究现状

1.4研究内容

1.5 本文的组织结构

第二章 调试器相关技术

2.1可执行和可链接文件格式ELF

2.2调试信息格式DWARF

2.3虚拟化平台Xen

2.4 本章小结

第三章 调试器设计与实现

3.1 XenDebugger的设计

3.2调试信息解析

3.3 调试断点

3.4单步调试

3.5读写变量信息

3.6 物理机和虚拟机间通信

3.7 本章小结

第四章 实验与分析

4.1实验环境搭建

4.2运行测试和分析

4.3本章小结

第五章 总结展望

5.1 总结

5.2 展望

致谢

参考文献

攻读硕士期间已发表或录用的论文

展开▼

摘要

随着信息技术的发展,计算机技术得到了更广、更深层次的应用。Linux系统由于开源免费等特性,越来越多的被用来做开发平台或学术研究。现代Linux系统越来越复杂,在Linux内核开发过程中,内核调试是很重要的一个环节。调试的目的是解决内核开发过程中出现的错误。由于系统内核的特殊性,针对系统内核的调试器比较少,而且无法方便地对系统内核进行源码调试。在调查和分析比较了现有内核调试工具的优势和不足,本文利用Xen虚拟化平台的特性,设计实现了一个Linux下的内核源码调试器。
  本文在分析了当前各种调试方法和实现技术的基础上,设计了一种基于Xen的Linux系统内核的源码调试新方法XenDebugger。XenDeugger使用Xen虚拟机代替了当前调试器中的目标物理机,串口通信则变成了Xen虚拟机和物理机间的通信。依赖虚拟化技术,只用一台物理机实现对Linux内核的调试。该调试器依据对Linux下的调试信息格式和Xen物理机和虚拟机间的通信而重新设计的一个调试工具,并借鉴了当前调试器的实现方法,完成调试器的设计和代码实现。
  本文主要工作和创新包含以下几个方面:
  1.内核透明调试。目前常用的内核调试工具kdb和kgdb都需在内核中安装补丁包,在内核启动时一起运行。本文设计的调试器是运行在虚拟机之外的,没有改动内核,只借助虚拟机和物理机的通信接口监控和调试内核系统。控制内核运行是通过Xen控制虚拟机实现的,没有侵入改写被调试系统内核。
  2.内核信息解析。内核系统比较复杂,编译出的调试信息项比较多。本文使用二分查找和广度优先搜索算法结合使用,快速解析调试信息。对行号信息和编译单元等有序数组项使用二分查找算法,而对树型数据结构组织的调试信息进行广度优先搜索,提高效率。
  经过实验测试,使用XenDebugger调试内核时,调试器没有出现大的时间延迟,解析调试信息的时间在20微秒以内,内核系统部分模块的性能下降10%到15%。XenDebugger的功能和实现方法已经得到Xen社区的认可,并被Xen社区接受为Xen社区开源项目产品之一。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号