精华内容
下载资源
问答
  • windows内核调试工具

    2015-05-04 11:47:13
    调试windows内核一般采用双机调试。 创建一个虚拟机然后使用windbg的工具进行内核调试。virtualkd套件会让使用更加方便。
    调试windows内核一般采用双机调试。 创建一个虚拟机然后使用windbg的工具进行内核调试。virtualkd套件会让使用更加方便。
    展开全文
  • DebugView-Windows内核调试工具
  • windows平台下,用户态和内核调试工具 Windbg WIN7 64位系统可用,也可以用来分析dump数据,查内存泄漏
  • WINDBG内核调试工具

    2018-07-20 18:38:50
    Windbg是在windows平台下,强大的用户态和内核调试工具。相比较于Visual Studio,它是一个轻量级的调试工具,所谓轻量级指的是它的安装文件大小较小,但是其调试功能,却比VS更为强大。它的另外一个用途是可以用来...
  • 原创文章: Windows调试工具入门4 - WinDbg内核调试配置 更多内容查看http://www.DbgTech.net/
  • 掌握Windows内核调试技术是学习与研究Windows内核的基础,调试Windows内核的方式大致分为两种: (1)通过Windbg工具在Windows系统运行之初连接到Windows内核,连接成功之后便可以调试,此时即可以调试Windows...

    掌握Windows内核调试技术是学习与研究Windows内核的基础,调试Windows内核的方式大致分为两种:

    (1)通过Windbg工具在Windows系统运行之初连接到Windows内核,连接成功之后便可以调试,此时即可以调试Windows内核启动过程,又可以在Windows启动之后调试某内核组件或应用程序。或使用Windbg的Kernel debugging of the local mechine功能,在Windows系统完全启动之后,调试Windows内核组件或应用程序。这种方式需要配置Windows系统以DEBUG模式启动。

    (2)通过Bochs来运行Windows系统,可以在Windows运行的任意时刻调试任意信息,但最大的缺点就是,这种方式目前不支持使用Windows Symbols,与第一种方式相比,汇编代码读起来并不直观。

    本文介绍方式(1)即通过Windbg工具调试Windows内核。

    1、Windbg工具简介及获取方式

    Windbg工具是微软团队开发和公布的一款专门用于调试Windows内核及应用程序的调试器,既支持内核级(Ring0)调试,也支持应用程序级(Ring3)调试。如今的Windows系统调试器有多种,出了Windbg以外,还有Olldbg、Immunity Debugger等。Olldbg和Immunity Debugger不支持内核级调试。

    Windbg工具包含在Windows Driver Kit(WDK,Windows驱动开发包)中,当然也可以单独下载。

    (1)如果要通过WDK方式获取的话,Windows XP及之前的环境只要下载WDK即可,整个资源大约300M~500M,但是在Windows Vista/Windows 7等系统之后,微软将WDK与Visual Studio环境集成到一起,因此整个下载资源大约6.0G~7.0G。由于Windows XP系统不再支持,并且笔者的实验环境为Windows 7系统,在后续的文章中也会涉及到Windows驱动开发,所以笔者建议下载WDK与VS集成包,虽然资源比较大。

    (2)如果只是暂时学习Windows内核调试的话,可以单独下载Windbg工具,整个资源大约150M。

    以上资源皆可以在MSDN上获取,获取链接为:http://msdn.microsoft.com/zh-cn/windows/hardware/hh852365.aspx

    2、Windows Symbols简介及获取方式

    Windows Symbols是微软公开的Windows系统符号表,使用Windbg调试WIndows内核和应用程序时可以很直观地看到部分变量名称、结构体结构、函数名称等。

    Windows Symbols可以直接在MSDN上获取,其获取页面与上述给出的获取Windbg工具的页面链接相同。

    但是笔者不建议直接下载并安装Windows Symbols,因为在使用Windbg工具调试时,可以根据需要即时获取相关模块的符号信息(如果网络正常的话)。

    3、Windows内核调试方法

    通过虚拟机调试Windows系统是种常见的方式,即首先搭建虚拟机环境,即将Windows系统安装在虚拟机中,然后配置虚拟机Windows系统的启动模式为DEBUG模式,并且配置好Windbg工具与虚拟机Windows系统之间的通信通道,在Windbg进入等待调试通信的时候,重启虚拟机Windows系统,双方的调试链接建立以后,即可使用Windbg工具调试/控制Windows内核,详细步骤如下:

    (1)配置虚拟机Windows系统以DEBUG模式启动。

    进入虚拟机Windows系统,以管理员身份运行cmd.exe,执行以下命令:

    bcdedit /debug on    //启用Windows内核调试支持

    bcdedit /bootdebug on  //启用应用程序的启动过程调试支持

    关于bcdedit命令的详细信息,可以在MSDN中了解:http://msdn.microsoft.com/zh-cn/library/dn653986(v=vs.85).aspx

    上述方式仅在Windows Vista/7系统及以后版本的Windows系统中有效,如不做特殊说明,笔者的实验环境默认为VirtualBox/Windows 7系统。

    对于Windows XP系统的配置,请自行GOOGLE。

    展开全文
  • 内核调试主要用来调试驱动代码、分析内核结构等。 WinDbg通过两台电脑可以实现内核调试,其中一台电脑运 行WinDbg,被称为主机;另外一台电脑运行被调试的程序或系统,被称为目标机。一般情况下两台电脑都是真实机 ...

      内核调试主要用来调试驱动代码、分析内核结构等。 WinDbg通过两台电脑可以实现内核调试,其中一台电脑运
    行WinDbg,被称为主机;另外一台电脑运行被调试的程序或系统,被称为目标机。一般情况下两台电脑都是真实机
    器,这样调试最符合实际情况,两台电脑通过串口线、 1394线或USB对联线连接起来实现双机内核调试。如果没 有
    两台电脑,也可以用虚拟机来模拟目标机,主机上运行WinDbg ,虚拟机中安装Windows运行被调试的程序,虚拟
    机通过模拟的串口输出为主机上的一个命名管道,从而和主机上的WinDbg连接起来实现双机 内核调试。
        除双机内核调试外, WindowsXP后还引入了一种本机内核调试方式,只需要一台电脑,直接运行WinDbg就 能
    查看修改系统内核结构等,不过所有和中断目标机系统相关的命令都不能执行,如断点命令。
         如果采用虚拟机模拟目标机,调试响应速度有时候是个问题,比1394线连接的真实双机调试速度要慢不少,特
    别是执行操作大量内存的命令时(如搜索内存命令),感觉非常明星。所以针对这种情况还会介绍一个特殊的辅助调 试
    工具vmkd ,该工具可以大大加速内核调试的速度,为咱们带来不少方便。
        下面分节详细介绍各种内核调试情景下的配置,尽量每个步骤都截图说明。

    真实机双机内核调试

        真实机之间的内核调试首先需要准备连接线,可以用串口线、 1394线或者USB对联线。
        串口线速度太慢,而且电脑城一般买不到可以直接使用的串口线,需要把线和接头买回来自己焊,按照WinDbg
    帮助中的说明交叉焊接,就能得到一根可用来调试的串口线。用串口线把两台电脑连接上后,先用Windows自带的
    超级终端工具,选择好串口和波特率连接。如果在超级终端中按键能在另外一台电脑的超级终端上显示按键,则表示
    串口线连接成功。接下来就可以用WinDbg连接串口调试。某些笔记本上可能没有串口,可以买一个USB转串口的
    接头,然后设置USB转换后的串口号,就能把这台笔记本当作主机使用。
       1394线速度快,价格也便宜,如果电脑上没有1394口,可以再另外买一个1394卡,价格也很便宜。 1394分
    大口和小口,只需按照电脑上的接口大小购买合适的线就行。如果没有1394口,装一个1394卡又很麻烦,则也可
    以买一个USB转1394口的接头,不过一样只能当作主机使用。
       USB对联线是Vista系统以后支持的内核调试连接方式,没见到哪里能买到这样的线,估计速度会更快一点吧!
       因为1394线连接调试最方便,速度也比较快,所以建议使用这种方式。
        电脑、连接线等准备好后,先设置目标机系统,启用内嵌在系统中的内核调试引擎。 Vista之前的系统,用记事 本
    打开系统盘根目录下的boot.ini文件,添加新的启动项,在新的启动项上添加调试选项。如下表,红色行表示新加的
    启动项, /debug表示打开内核调试引擎, /debugport=1394表示采用1394连接方式, /channel=10表示设置 通
    道号为10。

    [csharp] view plain copy

    1. [bootloader]  
    2. timeout=30  
    3. default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS  
    4. [operatingsystems]  
    5. multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="MicrosoftWindowsXPProfessional"  
    6. /noexecute=optin/fastdetect  
    7. multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="WINXP-Debug"/noexecute=optin/debug  
    8. /debugport=1394/channel=10  


       Vista之后的系统需要修改BCD数据库,利用bcdedit工具添加启动项,设置调试选项。如下表,以管理员方 式

    运行命令行程序,先复制当前项生成新的启动项,然后在新的启动项上操作,打开内核调试、设置调试连接方式、设
    置1394通道号。

    [csharp] view plain copy

    1. C:\>bcdedit/copy{default}/d"Vista-RemoteDebug"  
    2. 已将该项成功复制到{13fbbedc-756a-11dc-aed8-0016e68bceb3} 。  
    3. C:\>bcdedit/set{13fbbedc-756a-11dc-aed8-0016e68bceb3}debugtype1394  
    4. 操作成功完成。  
    5. C:\>bcdedit/set{13fbbedc-756a-11dc-aed8-0016e68bceb3}channel10  
    6. 操作成功完成。  
    7. C:\>bcdedit/debug{13fbbedc-756a-11dc-aed8-0016e68bceb3}on  
    8. 操作成功完成  


         设置完目标系统后重启,在选择启动菜单时停下来,在主机上通过如下命令行运行WinDbg准备连接到目标机

    [csharp] view plain copy

    1. D:\WinDbg>windbg-d-k1394:channel=10  


    -d表示在连接上目标系统后马上中断下来,这个也是最早的断点,该选项主要是为了在目标系统初始化早期就断下 来
    查看系统状态,当前情况下可以不要,1394:channel=10表示连接方式和通道号。第一次采用1394内核调试时,
    WinDbg可能会显示启动驱动失败,再次运行WinDbg应该就好了。运行WinDbg后,显示如下界面:

    表示WinDbg已经准备好,正在等待1394连接。然后返回目标机,选择前面添加的启动项(也就是打开了内核调 试
    选项的启动项),如下图,真实机器无法截图,这里用虚拟机截图代替。

    选择该启动项后,系统就会加载内核,初始化内核调试引擎,不一会(几秒钟)就能在主机的WinDbg上看到输出信
    息,接着中断在WinDbg中,如下图(写这篇文章时还是用的虚拟机截图,呵呵):

    可以看到WinDbg显示已经连接到WindowsXP系统上,并显示了符号路径、内核基址等信息,然后中断下来得到 控
    制权,输入k命令可以看到当前调用栈,输入g命令让目标系统继续启动。开始调试后,在WinDbg中可以随时按

    Ctrl+Break组合键或通过工具栏按钮中断目标系统。

        如果前面运行WinDbg时不习惯命令行方式,也可以先打开WinDbg ,然后选择菜单File/KernelDebug打开
    内核调试连接对话框,切换到第二个 “ 1394” 选项卡,在channel下面的编辑框中输入通道号10,点击 “ 确定 ” 按
    钮开始连接目标机。

    这样和前面命令行运行WinDbg的效果一样,就是没了 -d选项,可以在等待连接的界面上按两次Ctrl+Alt+k组合 键
    达到相同的效果

          真实机采用1394调试时,如果目标机系统是Windows2003 (未安装ServicePack )或者WindowsXPSP 1,
    则连接调试前,需要先在目标机上的 “ 设备管理器” 中禁用1394控制器。如果目标机上是Vista、 Windows2003SP1
    或者WindowsXPSP2等系统之后的系统,则不要禁用1394控制器。另外,如果主机是Vista之前的系统,用1 394
    调试时连接有问题,则可以尝试在主机的 “ 设备管理器” 中禁用1394网络适配器。

    虚拟机双机内核调试

         真实机毕竟硬件成本高,需要两台电脑,还得买连接线。如果调试要求不高,很多情况下可以用虚拟机模拟目标
    机,实现双机内核调试。当前常用的虚拟机有两种: VMWare和VirtualPC ,都提供了免费版本,运行速度相当于主
    机的一半左右。估计现在大家都是双核的电脑,运行虚拟机还是没问题的。 VMWare似乎速度要快一点点,而且提 供
    的快照功能非常方便,可以随时把系统还原到以前保存的状态。 VirtualPC似乎兼容性要好一点,有时候在VMWare
    上安装系统蓝屏,用VirtualPC就没问题。
        首先也是选择连接方式,用虚拟机只有一种串口方式,通过虚拟机模拟的串口输出到主机上的命名管道,然后
    WinDbg连接这个命名管道,从而实现主机和虚拟机的连接。
       在虚拟机中安装好系统后,关闭虚拟机系统,打开虚拟机系统的设置框, VMWare中如下图:

    选择Editvirtualmachinesettings ,打开设置对话框:

    首先选择Add... 按钮添加Serial设备,然后按照上图设置Serial属性。命名管道名称为WinDbg连接时需要用到的
    管道名, \\.\pipe\前缀不可少,后面接一个容易理解的名称即可。
    VirtualPC虚拟机也差不多,先安装好系统,选择系统,点击Settings按钮:

    打开虚拟机系统设置对话框,选择左边的COM1项,在右边设置输出的命名管道名称。

         设置好硬件连接方式后(这里是虚拟硬件),启动虚拟机中的系统,添加调试启动项。因为虚拟机只是虚拟了串 口,
    所以设置系统启动项时只能使用串口方式。 Vista之前的系统通过修改boot.ini文件实现,如下表。红色项表示新添
    加的启动项, /debug表示打开内核调试引擎, /debugport=com1表示采用串口1通信, /baudrate=115200设
    置串口1的波特率为115200 。

    [csharp] view plain copy

    1. [bootloader]  
    2. timeout=30  
    3. default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS  
    4. [operatingsystems]  
    5. multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="MicrosoftWindowsXPProfessional"  
    6. /noexecute=optin/fastdetect  
    7. multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="WINXP-Debug"/noexecute=optin/debug  
    8. /debugport=com1/baudrate=115200  

    Vista之后的系统,以管理员权限打开命令行窗口,通过bcdedit工具修改BCD数据添加启动项。

    [csharp] view plain copy

    1. C:\>bcdedit/copy{default}/d"Vista-RemoteDebug-1394"  
    2. 已将该项成功复制到{13fbbedc-756a-11dc-aed8-0016e68bceb3} 。  
    3. C:\>bcdedit/set{13fbbedc-756a-11dc-aed8-0016e68bceb3}debugtypeSERIALDEBUGPORT:1  
    4. BAUDRATE:115200  
    5. 操作成功完成。  
    6. C:\>bcdedit/debug{13fbbedc-756a-11dc-aed8-0016e68bceb3}on  
    7. 操作成功完成  


    设置好启动项后,重启虚拟机中的系统,在选择启动菜单项时停下来,返回主机,通过命令行启动WinDbg。

    [csharp] view plain copy

    1. D:\WinDbg>windbg-d-kcom:pipe,port= \\.\pipe\vmdbg_winxpen,baud=115200  


     

    注意红色字表示的管道名称,需要和虚拟机中的设置一样。这里照样可以通过菜单打开内核调试连接对话框来操作。


    注意管道名称要一致,选中Pipe项,然后确定,WinDbg则会开始等待连接。

    此时返回虚拟机中选择调试启动项,一会就能看到WinDbg中显示连接上虚拟机的信息

         建立连接后,就和调试真实机一样,操作也一样。只有当调试某些和特殊硬件相关的驱动,或者调试和3D游戏

    相关的程序时,还是得用到真实机。另外,运行虚拟机毕竟影响主机速度,特别是读取硬盘时感觉比较明显。而且当
    WinDbg中断下目标系统后,虚拟机基本上就把CPU给占满了,双核时还好,单核时搞的主机都没办法动。当然调试
    速度也是个问题,照理说都是一台电脑(虚拟机也还是运行在主机上),传输速度应该很快。但因为串口是完全模拟 的,
    串口设计决定了速度不可能快,所以下面介绍一个用于虚拟机调试时的加速工具: vmkd 。

     

                  Vmkd是内核调试高手Skywing推出的一个工具,主要用于加快VMWare内核调试的速度,官方网站在:
    http://www.nynaeve.net/?page_id=168 。 vmkd相当于接管了内核调试引擎传输通道,以前是:虚拟机系统内
    核 <->模拟串口 <->命名管道 <->WinDbg,使用vmkd后变成:虚拟机系统内核<->vmkd内核模块kdvmware <->vmkd注入模块vmxpatch<->新的命名管道 <->WinDbg,因为不走虚拟机的模拟串口传输数据,而是虚拟机端
    的kdvmware和主机端的vmxpath直接复制内存,所以传输速度大大加快。

     

    详细使用步骤如下:
    1.在虚拟机中安装好系统,并按照前一节所述设置好串口调试。
    2.把vmkd带的kdvmware.sys复制到虚拟机中C:\WINDOWS\system32\drivers目录下,在虚拟机中使
    用 命 令 行sccreatekdvmwarestart=demandtype=kernelbinPath=
    c:\windows\system32\drivers\kdvmware.sysDisplayName=kdvmware安装驱动。

     

    3.重新启动虚拟机中的系统,选择调试启动项进系统。



    4.在主机上找到启动虚拟机的vmware-vmx.exe进程的pid ,利用vmxinject.exepid命令把vmxpatch. dll
    注入到vmware-vmx.exe进程

    [csharp] view plain copy

    1. D:\DbgTools\vmkd>tlist-mvmware-vmx.exe  
    2. D:\ProgramFiles\VMware\VMwareServer\bin\vmware-vmx.exe-6096vmware-vmx.exe  
    3. OleMainThreadWndName  
    4. D:\DbgTools\vmkd>vmxinject6096  
    5. OK  

    5.在虚拟机中通过netstartkdvmware命令启动驱动。

    6.在主机上启动WinDbg连接虚拟机中的系统开始调试,命名管道名称中的winxpen是虚拟机系统的安装文
    件夹(比如: d:\VMs\winxpen )。

    [csharp] view plain copy

    1. windbg-kcom:pipe,port=\\.\pipe\kdvmware_winxpen,baud=115200  

    命名管道名称如果不确定,可用WinObjEx工具查看系统中的所有命名管道名,如下图,最下面的就是vm kd
    使用的管道名。

    连接后如下图:

    此时再调试会发现单步速度非常快,运行一下搜索命令s就能感觉出来,甚至.dump命令也很快能执行完。

    本机内核调试

         本机内核调试是WindowsXP之后的系统引入的一种内核调试方式,说调试其实有点不准确,因为没有单步、 断
    点等调试必备的功能,只能读写内存。不过用来查看系统内核信息时还是非常方便的,不需要两台电脑(连虚拟机也
    不需要,完全在本机运行),能够利用大部分WinDbg自带的扩展命令,在XP以后的系统上都能使用,包括32/64
    系统。

          在Windows2003SP1之前的系统上,系统通过ntdll!ZwSystemDebugControl函数提供本机内核调试支 持。
    之后的系统通过WinDbg自带的kldbgdrv.sys驱动调用nt!KdSystemDebugControl函数提供本机内核调试支持 。
    官方文档建议在启动项中添加 /Debug选项启动系统,然后使用本机内核调试功能。但一般情况下不需要这么做, Vista
    之前的系统上,可以直接运行WinDbg打开本机内核调试;Vista及之后的32位系统,可以利用笔者写的一个小工
    具VistaLKD开启本机内核调试功能,再运行WinDbg打开本机内核调试;Vista及之后的64位系统暂时只能修改
    启动项添加 /Debug选项来开启本机内核调试功能。
         启动本机内核调试非常简单,加上 -kl命令行启动WinDbg即可

    [csharp] view plain copy

    1. D:\WinDbg>windbg-kl  

    显示界面如下:

    也可以运行WinDbg后打开内核调试连接对话框,选择Local选项页,点击 “ 确定 ” 按钮打开本机内核调试功能

        Vista及以后的系统,记得先以管理员权限运行VistaLKD工具,点击Enablelocalkerneldebug按钮开启本
    机内核调试功能,然后再以管理员权限运行WinDbg打开本机内核调试。

     

    本机内核调试下可以做很多事情,比如查看内核结构定义、反汇编内核函数、显示内核Hook等。

    展开全文
  • 如果需要通过实验来了解windows操作系统,免不了要进行内核调试,这边文章把一些内核调试途径和方法罗列下。 实验环境 Windows 8 Enterprise+ Hypher V VM - 2003 SP2 VM - 2008 R2 工具使用 实验...

    如果需要通过实验来了解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

    展开全文
  • 原创文章: Windows调试工具入门-5(WinDbg内核调试常用命令) 更多内容查看http://www.DbgTech.net/
  • 内核调试工具笔记

    2017-04-25 20:16:00
    作者:精灵(^_^)/淘气鬼Windows调试员工具包自带有4个不同的调试器微软控制台调试器:cdb.exe 用于调试用户模式的应用程序运行于基本的控NT符号调试器 NTSD.exe 命令行制台微软内核调试...
  • windbg,系统级超级调试工具,可以调试进程,还原dump文件的具体环境,特别针对调试微软蓝屏的一款相当棒的微软提供的系统内核调试工具
  • 将包括毛德操的漫谈内核windows调试工具两部分的合并成一个文件。
  • Windows内核调试:符号文件配置

    千次阅读 2012-12-22 23:19:35
    为了使用任何一个内核调试工具来查看内核数据结构,必须首先至少获得内核映像Ntoskrnl.exe的正确的符号文件,即二者版本完全匹配。利用Microsoft的按需符号服务器,可以得到当前调试所需的正确版本,首先需要设置...
  • Windows内核调试:符号文件和Windbg的安装与环境配置 flyingstarsoul 2007-9-21 内核调试: 内核调试可以帮助我们查看内核的内部数据结构,跟踪内核中的函数,从而探查Windows的内部机理。内核调试工具有Microsoft的...
  • 由于学习需要windows内核与驱动调试环境,参阅了网上一些前人留下的资料,终于搭建成功。 自己走过的一些弯路:首先曾尝试使用Driver Studio中的SoftICE工具加虚拟机软件VMware来做,不知是我哪儿的参数设置不对...
  • - PAGE PAGE 3 欢迎下载 Windows 内核驱动调试环境搭建及调试步骤 本文系09年笔记记录整理当时只有大概的步骤最近又搭建环境顺道比较详细的整理一下以供自己备查较之前的笔记只是DDK和VMWARE的版本增高了基本步骤...
  • 这是一个windows 上的调试工具,按照他要求的格式打印调试信息,程序运行期间会被debug view抓获,并显示在信息窗口中,便于调试。
  • 它支持多种调试任务,如用户态调试内核调试、转储文件调试和远程调试。与此同时WinDbg还具有很好的灵活性和可扩展性。虽然是一个典型的GUI应用程序,但是它的大多数调试功能还是以手工输入命令的方式来工作的。...
  • windows internals 7th windows 内核 原书附带调试工具
  • 调试windows内核

    千次阅读 2011-07-03 11:14:17
    2 设置windows xp调试  打开系统安装盘,在文件夹选项中设置为显示所有文件,不隐藏系统保护的文件,然后就可以看到一个boot.ini文件   boot.ini 的文件内容一般如下    [boot loader]
  • Windows调试工具入门—1 NetRochttp://www.DbgTech.net一、 引子Debugging Tools for Windows是微软发布的一套用于软件调试的工具包(后面如果没有指明,那么我会使用WinDbg来作为这一套调试工具的简称)。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 684
精华内容 273
关键字:

windows内核调试工具