当配置好开发环境后,就要配置测试环境了。不瞒大家说,写这章的心里压力最大,如果后面的章节没写好,大家也就是一个知识点没学会,如果这章没写好,大家肯定要骂我了。因为这章的内容是讲解如何在WIN64系统上玩驱动,如果没搞好,就彻底没法玩了。

 

    废话不多说,先说今天的各个主角:

1.VMWAREVMWARE是虚拟机软件,相信这个大家都知道,因为版权的关系,我不能把它的下载地址和注册码等信息放在文章里,这个可以大家去各种知名软件站点搜索。建议下载VMWARE 。   2.WINDBGWINDBG 是微软出品的调试器,比起 OD 等常用调试器,就是支持内核调试。

它的下载地址是:http://www.windbg.org/X64%20Debuggers%20And%20Tools-x64_en-

us.msi不过其实大家不用下载,因为安装WDK时已经自带了)。

3.VirtualKD。方便与进行虚拟机双机调试的工具,免去手动设置的麻烦。下载地址: http://virtualkd.sysprogs.org

接下来分别说『安装虚拟机』、『进行双机内核调试』和『进行本地内核调试』的步骤。

请大家一步一步进行操作,顺序绝对不能弄乱,否则必定失败。

 

『安装虚拟机』的步骤:

1.安装VMWARE

2.安装WIN7X64虚拟机(当然你也可以把其他WIN64系统都安装好)。

3.在虚拟机里关闭UAC(方便测试驱动!这步一定要做,否则后续步骤会失败)。

4.在虚拟机里安装VMware
Tools

5.在虚拟机里安装.NET FRAMEWORK4如果是WIN7X64以后的系统则跳过这步)。 6.备份虚拟机的当前状态。 如果不了解虚拟机的使用,请自行百度,讲解虚拟机的使用方法不是课程重点。

 

『进行双机内核调试』的步骤:

1.VirtualKDtarget文件夹弄进虚拟机里。

2.在虚拟机里安装VirtualKD(打开VirtualKD目录下的target文件夹,以管理员权限运行vminstall.exe)。【见下图】

3.在真机运行VMMON64.exe,设置调试器路径。点击VMMON界面下面的『Debugger path』按钮,选择WINDBG路径。一般路径是:C:\WinDDK\7600.16385.1\Debuggers\windbg.exe

【见下图】 

4.重启虚拟机,进入这个内核启动项。【见下图】

5.进入不久之后,WINDBG会自动启动(实际上是VMMON.EXE启动的),出现类似这样的画面

(见下图)。按下F5,继续让系统运行。

6.当虚拟机进入系统后,在真机WINDBG获得焦点的时候,按下Ctrl+Break,记得随时调试虚拟机。按下Ctrl+Break后,会出现类似的画面:

7.这个时候先不急着调试,先在真机安装符号包。WINDOWS 系统符号的官方下载地址是: http://msdn.microsoft.com/en-us/windows/hardware/gg463028.aspx因为我们要调试的目标系统是 WIN7X64,所以去页面上选择『Windows 7 RTM x64 retail symbols, all languages』或『Windows 7 Service Pack 1 x64 retail symbols, all languages』下载

(根据你安装了WIN7X64SP1还是WIN7X64RTM)。下载完毕后安装。安装过程就是一路NEXT,记得在安装过程中选择把符号安装到c:\symbols,否则会影响后面的符号加载!

8. 设 置 WINDBG
符 号 。 点 击 File->Symbol File Path , 输 入

SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols】,再按下确定即可。若

在按下确定前,勾选一下Reload复选框,WINDBG则会自动重载符号。

9.让WINDBG重载符号。在WINDBG的命令行上输入.reload即可(注意reload前面有个点)。

10.测试WINDBG是否加载符号成功。输入u KiInsertQueueApc,如果出现类似以下的结果,就证明今天的课程学完了!

『进行本地内核调试』的步骤:

1.开启CMD,输入bcdedit –debug on

2.重启计算机。

3.打开WINDBG,按下Ctrl+K,选择Local,按下确定。