首页> 中文学位 >Linux内核崩溃转储机制的实现
【6h】

Linux内核崩溃转储机制的实现

代理获取

目录

封面

声明

中文摘要

英文摘要

目录

第一章 绪 论

1.1内核崩溃转储的现状与意义

1.2转储内存分析的现状与意义

1.3本文主要工作

1.4本文的结构安排

第二章 相关原理与技术介绍

2.1概述

2.2 Kdump原理介绍

2.3 Kdump转储分析相关原理介绍

2.4小结

第三章 Kdump的移植

3.1概述

3.2 Kexec-tools的编译与安装

3.3 ATAG的修改

3.4系统内核以及捕获内核的配置

3.5捕获内核的加载

3.6小结

第四章 Kdump转储内存解析

4.1概述

4.2 YACAT的架构

4.3 YACAT的实现

4.4小结

第五章 系统测试验证

5.1概述

5.2转储机制验证

5.3转储分析验证

5.4小结

第六章 结 论

6.1本文的主要贡献

6.2下一步工作的展望

致谢

参考文献

附录

附录一 支持ARM上的Kdump对内核的主要改动

附录二 解码后的DWARF文件信息

附录三 扩展的Lua APIs说明

展开▼

摘要

Linux自1991年第一次对外发布以来,借助于网络以及全世界自由和开源爱好者的共同努力,发展到今天已成为使用最多的一种类 UNIX操作系统。Linux广泛用于桌面系统,大型服务器以及超级计算机中,同时也活跃在移动电话、个人数字助理、媒体播放器、消费性电子产品以及航空航天等嵌入式系统中。 Linux内核由一组不和特定进程相关的功能组成,这给关于内核的编程调试带来了独特的挑战。内核代码的错误可能导致整个系统崩溃同时很难重现。调试是编程人员不乐意但又没有法避免的问题,内核调试又因为其特殊性为多数编程人员所头疼。
  本文介绍了一种基于 Kexec内核崩溃转储机制 Kdump。文中详细地介绍了Kdump的原理及其在Arm上的实现。Kdump在Linux系统崩溃时,利用Kexec的快速重启机制,跳过引导程序部分,直接加载捕获内核,在捕获内核的上下文保存系统内核的内存映象。保存的转储文件在/proc系统下,可以直接分析,也可以拷贝到其他的机器上做后期的分析与调查,而崩溃的机器可以迅速重启再重新投入使用。转储文件通常为ELF格式,对很多体系架构上的ELF格式的转储文件的分析现已经在GDB和红帽的Crash工具上得到了支持。本文在GDB的基础上开发了一种嵌入Lua脚本的转储文件分析工具。这个工具扩展了Lua的函数库,利用转储文件中的内存信息和可执行文件中保存的调试信息,可以直观地获得当前的PC指针,各个线程的调用栈,局部变量,其他寄存器值等信息,可以列出全局变量特别是重要的数据结构的信息,同时支持利用脚本来增加新关注的变量的信息输出,也可以灵活地扩展和应用到其他的功能上。
  Kdump有着内核崩溃转储机制共同的特点:能保存系统崩溃时的内存映象,崩溃的机器可以马上恢复投入使用而保存的内存映象可在其他的调试机器上进行后期的分析。同时Kdump又有其独有的特点:可以最低限度地减少对内核代码的入侵,具有极高的可靠性,在众多体系架构上都得到了支持,易于维护,易于使用,转储的内容和目标也很具灵活性等等。这些特点使得Kdump对系统异常特别是产品级的系统异常分析调试特别实用。而本文嵌入脚本的转储文件分析工具,可以简化调试步骤,加快系统崩溃问题的解决。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号