Windows驱动开发 Win7-x64+VM+WinDbg 双机调试

1.主机安装WinDbg

2.设置主机的WinDbg属性参数

3.安装虚拟机并安装系统

4.设置虚拟机的命名管道

5.虚拟机安装WinDbg

6.对虚拟机的调试进行配置

7.设置主机WinDbg

8.调试驱动


1.主机安装WinDbg

2.设置主机的WinDbg属性参数

给WinDbg添加一个快捷方式,再快捷方式的目标后加入一行指令

 -b -k com:pipe,port=\\.\pipe\com_1,resets=0

Windows驱动开发 Win7-x64+VM+WinDbg 双机调试_第1张图片

3.安装VM虚拟机并安装系统 

安装VM软件之后,并为其安装操作系统。

4.设置虚拟机系统管道

先把打印机的端口移除,要不会因为串行口不匹配而出现问题,新添加一个串行端口,输入以下:

\\.\pipe\com_1

Windows驱动开发 Win7-x64+VM+WinDbg 双机调试_第2张图片

5.安装虚拟机WinDbg

安装的方式和主机一样,直接安装就可以,不需要设置快捷方式的目标参数

6.对虚拟机的调试进行配置

虚拟机以管理身份打开“命令提示符”输入“bcdedit”

Windows驱动开发 Win7-x64+VM+WinDbg 双机调试_第3张图片

设置端口命令:

bcdedit /dbgsettings serial baudrate:115200 debugport:1

 复制一个开机选项:

bcdedit /copy {current} /d "Windwos7"

 增加一个开机引导项:

bcdedit /displayorder {current} {ID}

注:这个ID要填写上一条命令生成的一串数字或字母。

激活debug:

bcdedit /debug {ID} ON

注:ID以生成的数字或字母串代替 

设置新的启动项

bcdedit /debug ON
bcdedit /bootdebug ON

查看当前的调试配置:

bcdedit /dbgsettings

配置正确会显示出使用的第一个串口,波特率为115200bps,和期望的一致,不需要修改。

选择菜单的超时,设置为10秒:

bcdedit /timeout 10

重启虚拟机,选择“Wiondows7[调试模式]”作为启动项

重启虚拟机之后,主机打开WinDbg会出现

Windows驱动开发 Win7-x64+VM+WinDbg 双机调试_第4张图片

如果虚拟机系统出现软中断,直接通过g指令继续运行即可。 

如果在调试驱动过程中想断开虚拟机,只需要使用Ctrl+Break 键即可,这时候虚拟机被软中断,需要g命令才可以继续运行。

7.主机WinDbg设置

设置下载symbols文件

.sympath srv*c:\Symbols*http://msdl.microsoft.com/download/symbols

Windows驱动开发 Win7-x64+VM+WinDbg 双机调试_第5张图片

注:当我们本机缺少或没有某个symbol时从上面微软地址自动下载到C:\symbols目录中,如要查看模块先在命令行里输入:

>ld IGFilter

然后重新加载,这样就可以看到所有的模块了。

Windows驱动开发 Win7-x64+VM+WinDbg 双机调试_第6张图片

设置Source File Path目录(源文件)路径

在C盘里新建一个CommonFramework文件夹用来放置要调试的驱动源文件,将编译好的项目下的 xx.cpp或者xx.c文件拷贝到Source File Path目录路径下,这里指定路径为:C:\CommonFramework

Windows驱动开发 Win7-x64+VM+WinDbg 双机调试_第7张图片

 

这样 Windbg 调试器的配置基本完成了

8.调试驱动

在VM win7系统里运行DriverMonitor加载驱动

为了方便调试需要给代码增加软中断:

__debugbreak();//64位软中断
_asm int 3;//32位软中断

这时候我们运行调试的时候会在软中断中断下来,接着我们就可以在主机的WinDbg里利用 F11 或 F8 对驱动进行调试。

 至此坑爹的Win7+VM+WinDbg双机调试就完成了,主要的问题在于 禁用驱动程序签名强制 进入无效,多次进行重启后方可解决,当右下角出现:

才是成功 进去测试驱动模式,这时候利用签名软件对其进行签名,然后用DriverMonitor对其进行加载,加载完毕后主机会出现软中断:

Windows驱动开发 Win7-x64+VM+WinDbg 双机调试_第8张图片

加载完毕后,可以通过设备管理器直接查看驱动的安装情况:

打开设备管理器=》显示》显示隐藏设备

Windows驱动开发 Win7-x64+VM+WinDbg 双机调试_第9张图片

在此处可以查看驱动是否能正常加载卸载。

你可能感兴趣的:(WDK开发)