一、安装环境

  1. 主机:Windows 7
  2. 虚拟机:VMware 9 +win7(被调试机)
  3. Windbg: 6.12

二、虚拟机配置

1.右击虚拟机系统->设置->弹出虚拟机设置框->若是安装了虚拟打印机它会把串口1占用,所以这里要把虚拟打印机删除掉

2.然后点击下面的添加按钮->然后选择串行端口->继续->选择“输出到命名管道”->继续,选择下面红色的选项。

虚拟化win7 如何使用显卡驱动 win7虚拟机驱动_bc



3.确定之后,回到如下界面,在右脚"Virtual Machine Settings" 页面时,在“I/O Mode” 里选中“Yield CPU on poll“

 

4.点击Ok之后就虚拟机设定完毕了。


三、Windbg的配置(必须安装在调试机上)


      下载地址:http://msdn.microsoft.com/zh-cn/windows/hardware/gg454513


       安装之后,设置一个桌面快捷方式,然后,右键->属性,在Target中的引号后面添加如下:-b -k com:pipe,port=\\.\pipe\com_1,baud=115200,pipe

四、被调试机的配置(这里是vmware的机器win7)

1.用administrator身份启动cmd,然后在输入命令:bcdeedit /copy {current} /d DebugEntry

五、测试Windbg

1. 当被调试机重启后,打开windbg,这时被调试机像处于死机状态,等windbg连接被调试机后,在其命令提示符”kd>"后面输入“g”并按回车键。

2.设置windows内核符号表

1)在调试连接上之后,打开WinDbg的主菜单“File”下的“Symbol File Path”,在这里输入符号表的位置。符号表(pdb文 件)和sys产生在同一个目录下,所以只要指定本机上编译结果所在的objchk_win7_x86\i386目录就可以了。

注:如果有多个驱动需要调试,那么可以指定多个路径,路径之间用分号分隔。

2)此外,需要指定windows的内核符号表。windows的每一个sys文件都有自己的符号表,这些符号表需要从网上下载,因为如果直接在symbol file path里添加设置:srv*c:\symbols*http://msdl.microsoft.com/download/symbols(这个网址下载只能由windows的调试工具用,它本身在网页里是打不开的)。因为下载它太慢,所以直接到微软官网下载然后安装也行:http://msdn.microsoft.com/en-us/windows/hardware/gg463028.aspx#Download_windows

3. 至此,就可以实战调试自己的内核程序了