安装VMware+Windbg+Win7内核驱动调试

一、安装环境

  1. 主机:Windows 7 SP1 x64
  2. 虚拟机:VMware 9
  3. VMOS: Windows7 SP1 x64
  4. Windbg: Windows Driver Kit 8.1 自带

二、虚拟机配置

  1. 打开VMware 虚拟机上的 “Virtaul Machine Settings“
  2. 为了省事,这里将Printer 删除,为了让新配置的Serial Port 为1(如果不删除Printer,后面配出来的会是SerialPort =2,这还需要在虚拟机中再命令设置)

               

     3.点击下面的ADD 添加一个新端口,请按照图片上的设置

              

             

             

             添加完成后切记Yield CPU on pull要打上勾

             

至此,VMWare就配置完成了。

 

      4.虚拟机中的OS设置

         WIN+R 打开运行输入msconfig打开启动配置对话框设置调试,请按照图片设置

         

        

       至此虚拟机中的操作系统也设置好了,重启后生效。

 

   5.WinDbg设置

        -b -k com:port=//./pipe/com_1,baud=115200,pipe

      为了不用每次都输入参数,给WinDbg建个快捷方式,把参数存里面,以后就不用每次都输入了

     "C:\Program Files (x86)\Windows Kits\8.1\Debuggers\x86\windbg.exe" -b -k com:port=//./pipe/com_1,baud=115200,pipe

     这是我自己的WinDbg的路径后面加上参数的串

 

 

  6.测试WinDbg+VMware是否连接成功

    先打开虚拟机操作系统,然后启动WinDbg,出现下列信息则说明连接成功,此时虚拟机系统会停止(可能是黑屏),WinDbg会在系统启动上自动下int 3,这时按F5或键入g回车,系统即可正常启动

    

     至此WinDbg+VMWare+Win7 调试配置就已设置完成。

三、 安装与配置windbg的symbol(符号)

第一步 是从 http://www.microsoft.com/ddk/debugging 下载最新版本的 WinDBG,

因为符号服务器二进制文件是由 WinDBG 小组开发的。您将需要检查是否有 WinDBG

更新版本,因为该小组似乎具有相当紧凑的发布日程安排,并且每隔几个月就会发布

更新版本。
第二步 双击下载的文件安装windbg.安装时注意记住安装到那里了.
第三步 windbg访问符号需要两个文件(SYMSRV.DLL 和 SYMSTORE.EXE)所以添加主path

环境变量中它们的路径进去,即:你的windbg安装目录.
操作方法:在桌面我的电脑点右键--属性--高级--环境变量,在系统变量列表框中找到

path双击,在变量值最后面加一个分号再把你的安装目录写上.点确定. 这一步是告诉

windbg那两个文件放在什么地方.
第四步 新建一个环境变量_NT_SYMBOL_PATH 值为: SRV*c:\mysymbol* http://msdl.microsoft.com/download/symbols

还有一种方法新的方法是:设置值为 cache*c:\mysymbol;srv*http://msdl.microsoft.com/download/symbols

这两个的不同点在于 第一个只能缓存符号服务器形式的符号文件,但是第二种可以缓存远程共享形式的符号文件。

操作方法:桌面我的电脑点右键--属性--高级--环境变量 ,点击新建,把上面的变量名

和变量值填上.这一步的意思是说告诉windbg,我的符号文件存放在c:mysymbol中(当然

其实里面什么也没有,甚至这个文件夹也不存在,不过没关系,系统找不到的话会给你创

建一个,并在上面的网址中去帮你下载符号文件放在里面)
第五步 重启计算机,再运行运行windbg 打开一个exe文件或者附加到一个进程里去, 你会看到
Symbol search path is: SRV*c:\mysymbol* http://msdl.microsoft.com/download/symbols
打开c盘看到有一个新目录mysymbol,里面有windbg新下载的文件.


 四、虚拟机OS设置

1、在 bootmgr 中下断点
          在 vista 及后续的 windows 已经取消了 ntldr 模块管理引导,转而以 bootmgr 模块管理引导系统。

  在我的 windows 7中要设定在哪个部分进行调试。

  windws 7 可调试部分有 4 个:bootmgr 模块、winload 模块、WinResume 模块以及 windows 内核模块 Nt 模块

 可以在上述的 4 个模块下断点进行调式
        (1) 以管理员身份运行“命令提示符”

(2) 在“命令提示符”窗口中,输入以下命令:

    bcdedit /set {bootmgr} bootdebug on
        bcdedit /set {bootmgr} debugtype serial
        bcdedit /set {bootmgr} debugport 1
        bcdedit /set {bootmgr} baudrate 115200

 

注意一个细节,bcdedit /set {bootmgr} debugport 1这一行最后的1 对应Serial Port 1,


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值