windbg + vmware调试驱动-环境搭建
1、vmware设置
“VirtaulMachineSettings”--->
“Hardware”选项中---->
点击“Add”添加一个串口设备SeiallPort---->
“Next”---->
在SerialPort里选中“Output to named pipe”---->
“next”---->“Finish”
最后,回到 “Virtual Machine Settings”页面时,在“I/O Mode” 里选中“Yield CPU on poll” 这样 vmware 的设置就好了。
注意新添加的串口设备编号,Serial Port x,设置目标系统调试模式时会用到。
2、windbg连接虚拟机
(1)设置windbg环境变量
path中加入windbg路径
(2)使用命令行:
windbg -b -k com:port=//./pipe/com_1,baud=115200,pipe
(3)前两步整合脚本
将以下内容保存到.bat文件中
set path=%path%;E:\WinDDK\7600.16385.1\Debuggers
windbg -b -k com:port=//./pipe/com_1,baud=115200,pipe
3、目标系统设置
(1)设置系统启动调试模式
gui操作:
进入msconfig->引导->高级选项,勾选调试,设置端口和波特率。端口为虚拟机新添加的串口。
(2)在windbg中显示调试目标系统中的dbgprint信息
修改虚拟机中的系统的注册表
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager
新建一项Debug Print Filter,
新建一个DWORD值,名称为DEFAULT,(注意:必须全部是大写),值为0x8。
4、源码级调试
设置windbg的source file path
关键文件为 驱动构建目录中的 *.pdb文件
windbg可能会自动寻找到相关目录。
windbg 加载符号
设置windbg:"File" ---> "Symbol File path",添加“
SRV*d:/symbols*http://msdl.microsoft.com/download/symbols
回到 windbg 命令行,使用命令 .reload 命令,可以自动加载符号