一、安装环境
- 主机:Windows 7 SP1 x64
- 虚拟机:VMware 9
- VMOS: Windows7 SP1 x64
- Windbg: Windows Driver Kit 8.1 自带
二、虚拟机配置
- 打开VMware 虚拟机上的 “Virtaul Machine Settings“
- 为了省事,这里将Printer 删除,为了让新配置的Serial Port 为1(如果不删除Printer,后面配出来的会是SerialPort =2,这还需要在虚拟机中再命令设置)
3.点击下面的ADD 添加一个新端口,请按照图片上的设置
添加完成后切记Yield CPU on pull要打上勾
至此,VMWare就配置完成了。
4.虚拟机中的OS设置
WIN+R 打开运行输入msconfig打开启动配置对话框设置调试,请按照图片设置
在 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,
所以如果是Serial Port 2 则设置为bcdedit /set {bootmgr} debugport 2 否则连不上。
bcdedit /set {bootmgr} bootdebug on |
在提示命令成功后,这样就在 windows7 中的 bootmgr 模块建立起可调试的机制。
在运行 windows7 时到达 bootmgr 时就停止加载,vmware 中是黑屏,它正等待 serial port 的响应,
运行 windbg 后,windbg 就和 windws 7 中的 bootmgr 建立起联线了
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 调试配置就已设置完成。