`
piperzero
  • 浏览: 3473734 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

Windows内核调试实验方法

 
阅读更多

如果需要通过实验来了解windows操作系统,免不了要进行内核调试,这边文章把一些内核调试途径和方法罗列下。

实验环境

Windows 8 Enterprise+ Hypher V

VM - 2003 SP2

VM - 2008 R2

工具使用

实验用到的工具主要是调试工具windbg,进行内核级的调试,如何向查看系统内核的情况,一般有四种方式,

WindbgLocal Debug,需要更改机器启动设置,重启机器。

LiveDebug,需要准备两台机器,从一台通过调试工具连接到目标机器来调试目标机器。

LiveKD,可以帮助我们在本机或者VM上面直接调试。

KernelDump,通过抓取内核Dump来查看内存状态。

Windbg的安装方法

Windbg的安装包包含在windows WDKSDK中,在安装SDK的过程中选择Debug Tool For Windows选项,SDK会安装Windbg

WindowsSDK下载

http://msdn.microsoft.com/en-us/windows/hardware/gg463009.aspx

Symbol的配置

Windbg安装成功后,非常关键的一步是配置Symbol(符号表)缓存和网络地址,默认的路径为

SRV*your local symbolfolder*http://msdl.microsoft.com/download/symbols

需要设置用户环境变量

_NT_SYMBOL_PATH =SRV*your local folder for symbols*http://msdl.microsoft.com/download/symbols

Windbg Local Debug

管理员启动命令行

Bcdedit /debug ON

管理员启动windbg

选择File - Kernel Debug - Local

LiveKD的使用方法

LiveKD允许我们不需要另外一台物理机就可以进行内核调试,所以我实验的过程中大多数时候都会用LiveKD来实现,只是在特殊的查询可能要通过抓Kernel Dump的形式来演示,(因为LiveKD不能访问硬件,所以硬件相关的命令在LiveKD中得不到返回结果)

LiveKD下载

http://technet.microsoft.com/en-us/sysinternals/bb897415.aspx

如果你的Windbg安装目录为默认目录的话,LiveKD可以自动找到相应的路径,否则的话你需要将LiveKD拷贝到Windbg的安装目录下。

Local machine

本机调试直接通过管理员权限运行命令行,转到LiveKD所在的目录,运行LiveKD

Virtual machine

LiveKD也可以直接调试Hypher-VVM虚拟机,通过LiveKD加参数-hvl列出所有的Hypher-V虚拟机名和Guid,然后选择要调试的虚拟机执行LiveKD加参数-hv后面接虚拟机名或Guid来启动调试。

Kernel Dump的方法

抓内核dump的方式很多,dump也有三种类型可供选择,

Small Memory Dump

Kernel Memory Dump

Complete Memory Dump

先来进行一些通用的配置。

确定抓取dump的类型,一般我实验只是演示查看,可以选择自动的方式。

确定dump文件写入的路径有足够的硬盘空间,dump的大小取决于dump的类型与内存使用量,如果选择自动的话你需要保证有比内存大小大的硬盘空间。

NotMyFault

这是最简单的方式,通过软件触发中断来生成dump文件。

下载NotMyFault工具http://download.sysinternals.com/files/NotMyFault.zip

运行命令行转到NotMyFault所在的路径下,运行命令NotMyFault.exe /crash

系统蓝屏,重启,dump就生成在你配置的路径下。默认为c:\windows\memory.dmp

键盘中断

如果你用ps/2键盘,修改注册表

找到以下注册表子项:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters

添加以下注册表项:

Name :CrashOnCtrlScroll

Data Type: REG_DWORD

Value :1

如果使用 USB 键盘,必须创建 CrashOnCtrlScroll 注册表项。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\kbdhid\Parameters

添加以下注册表项:

Name :CrashOnCtrlScroll

Data Type: REG_DWORD

Value :1

接下来,按住右边ctrl键并且同时按两次scrolllock键,系统蓝屏重启,dump生成在配置目录下。

其他方式

http://support.microsoft.com/kb/972110/zh-cn

参考文档

http://msdn.microsoft.com/en-us/library/windows/hardware/ff553382(v=vs.85).aspx

http://support.microsoft.com/kb/311503

http://support.microsoft.com/kb/972110

http://support.microsoft.com/kb/969028

http://blogs.technet.com/b/markrussinovich/archive/2010/10/14/3360991.aspx

分享到:
评论

相关推荐

    Wince 内核调试实验

    Wince 内核调试实验 ,进行Windows CE内核调试.完整的实验步骤,呵呵,提供有需求的人员。

    Windows内核调试培训资料(windbg)(3)

    windbg环境配置以及调试试验,结果。手把手教你设置Windbg

    《软件调试》完整版2 第201——400页(附件太大分开上传)

    内核调试、用户态调试、JIT调试、远程调试的原理、实现和用法;异常的概念、渊源、分发方法、处理方法(SEH、VEH、C++)、编译方法和与调试相关的若干问题;调试符号的作用、产生过程、使用方法和对常用类型的调试...

    Windows驱动开发技术详解

    本书是作者结合教学和科研实践经验编写而成的,不仅详细介绍了Windows内核原理,而且介绍了编程技巧和应用实例,兼顾了在校研究生和工程技术人员的实际需求,对教学、生产和科研有现实的指导意义,是一本值得推荐的...

    深入解析WINDOWS操作系统(第4版).pdf

    利用内核调试器和其他的工具来检查内部系统结构;检查与进程、线程和作业相关的数据结构和算法;观察Windows如何管理虚拟内存和物理内存;理解NTFS的操作和格式,诊断文件系统访问问题;从上往下查看 Windows的网络...

    windows驱动开发技术详解-part2

    本书是作者结合教学和科研实践经验编写而成的,不仅详细介绍了Windows内核原理,而且介绍了编程技 巧和应用实例,兼顾了在校研究生和工程技术人员的实际需求,对教学、生产和科研有现实的指导意义 ,是一本值得...

    深入解析Windows操作系统(第6版)

    2.探索内部系统的数据结构,使用内核调试工具 3.在Windows安全模式里面去看看它是如何授权数据的访问 4.了解Windows如何管理物理和虚拟内存 5.从上到下参观Windows网络堆栈 6.文件系统访问的问题和系统引导问题的...

    Microsoft Windows Internals.pdf

    利用内核调试器和其他的工具来检查内部系统结构;检查与进程、线程和作业相关的数据结构和算法;观察Windows如何管理虚拟内存和物理内存;理解NTFS的操作和格式,诊断文件系统访问问题;从上往下查看Windows的网络栈...

    Windows驱动开发技术详解的光盘-part1

    本书是作者结合教学和科研实践经验编写而成的,不仅详细介绍了Windows内核原理,而且介绍了编程技巧和应用实例,兼顾了在校研究生和工程技术人员的实际需求,对教学、生产和科研有现实的指导意义,是一本值得推荐的...

    深入解析windows操作系统 第四版 英文版 chm 格式 卷一

    利用内核调试器和其他的工具来检查内部系统结构;检查与进程、线程和作业相关的数据结构和算法;观察Windows如何管理虚拟内存和物理内存;理解NTFS的操作和格式,诊断文件系统访问问题;从上往下查看Windows的网络栈...

    12操作系统实验报告.doc

    " "(3)EOS内核项目的生成和调试 : 对EOS内核项目的各种操作(包括新建、生成和 " "各种调试功能等)与对Windows控制台项目的操作是完全一致的; " "(4)EOS应用程序项目的生成和调试; " "(5)退出OS Lab 。 ...

    1操作系统实验报告.doc

    " "(3)EOS内核项目的生成和调试 : 对EOS内核项目的各种操作(包括新建、生成和 " "各种调试功能等)与对Windows控制台项目的操作是完全一致的; " "(4)EOS应用程序项目的生成和调试; " "(5)退出OS Lab 。 ...

    WinDBG 学习资料大集合

    内含如下文档: WinDbg 基础知识.chm WinDbg 内核调试指南.pdf WinDbg 资料整理 windbg经典中文教程(WINDOWS用户态内核调试必读) .pdf windbg试验.doc

    Windows驱动开发技术详解(part2) PDF

    本书是作者结合教学和科研实践经验编写而成的,不仅详细介绍了Windows内核原理,并且介绍了编程技巧和应用实例,兼顾了在校研究生和工程技术人员的实际需求,对教学、生产和科研有现实的指导意义,适用于中、高级...

    深入解析windows操作系统(第4版)卷3

    利用内核调试器和其他的工具来检查内部系统结构;检查与进程、线程和作业相关的数据结构和算法;观察Windows如何管理虚拟内存和物理内存;理解NTFS的操作和格式,诊断文件系统访问问题;从上往下查看Windows的网络栈...

    深入解析windows操作系统(第4版)卷2

    利用内核调试器和其他的工具来检查内部系统结构;检查与进程、线程和作业相关的数据结构和算法;观察Windows如何管理虚拟内存和物理内存;理解NTFS的操作和格式,诊断文件系统访问问题;从上往下查看Windows的网络栈...

    深入解析windows操作系统(第4版)卷1

    利用内核调试器和其他的工具来检查内部系统结构;检查与进程、线程和作业相关的数据结构和算法;观察Windows如何管理虚拟内存和物理内存;理解NTFS的操作和格式,诊断文件系统访问问题;从上往下查看Windows的网络栈...

    Windows驱动开发技术详解(Part1) PDF

    本书是作者结合教学和科研实践经验编写而成的,不仅详细介绍了Windows内核原理,并且介绍了编程技巧和应用实例,兼顾了在校研究生和工程技术人员的实际需求,对教学、生产和科研有现实的指导意义,适用于中、高级...

    深入解析Windows操作系统 第6版 上册

    《深入解析Windows操作系统:第6版(上册)》是著名的操作系统内核专家Mark Russinovich和David Solomon、Allen Ionescu撰写的关于Windows操作系统原理的最新版著作,全面深入地阐述了Windows操作系统的整体结构及...

    深入解析windows操作系统 第四版 英文版 chm 格式 卷二

    利用内核调试器和其他的工具来检查内部系统结构;检查与进程、线程和作业相关的数据结构和算法;观察Windows如何管理虚拟内存和物理内存;理解NTFS的操作和格式,诊断文件系统访问问题;从上往下查看Windows的网络栈...

Global site tag (gtag.js) - Google Analytics