使用的工具:
1) VMWARE VMWARE 虚拟机软件
2) WINDBG WINDBG 是微软出品的调试器,比起 OD 等常用调试器,就是支持内核调试。如若安装WDK则不需用单独安装,若只需要工具不需要开发环境则直接下载WINDBG即可
3) VirtualKD。 方便与进行虚拟机双机调试的工具, 免去手动设置的麻烦,偷懒,-.-。使用此软件不需要自建通道。下载地址:
http://virtualkd.sysprogs.org
此处我使用的是VS2012+WDK8.0驱动开发环境;
相关的下载地址可以去微软官方下载。
内核符号下载地址:
https://msdn.microsoft.com/en-us/windows/hardware/gg463028.aspx
Windbg内核符号需要和虚拟机装的系统版本进行匹配,我虚拟机安装的windows7 64位,所以页面上选择『 Windows 7 RTM x64 retail symbols, all languages』或 『 Windows 7 Service Pack 1 x64 retail symbols, all languages』 下载。
注意安装windbg符号的时候最好安装在 c:\symbols,以免影响符号加载。
以上软件安装成功后,进入虚拟机里win7 系统,在虚拟机里安装 VirtualKD(打开 VirtualKD 目录下的 target 文件夹,以管理员权限运
行 vminstall.exe),如下图
在物理机运行VirtualKD 目录下的VMMON64.exe,点击 VMMON 界面下面的『 Debugger path』按钮, 选择 WINDBG 路径。一般安装路径是:C:\Program Files (x86)\Windows Kits\8.1\Debuggers\x64,如下图:
此时重启虚拟机win7系统,就会发现进入系统是已经被windbg断下。恭喜你,你只差 最后一步了。
如下图所示,选择符号路径。
在路径中填写srv*C:\symbols*http://msdl.microsoft.com/download/symbols ,前面路径 为符号安装路径。记得勾上Reload。
若忘记勾选Reload,可以在Windbg输入栏中输入命令 .reload 。
下面就可以测试是否加载符号成功,使用命令 u KiInsertQueueApc ,如若输出以下类 似结果则说明符号加载成功。
做完上面的操作,即可进行双机调试。