Windows驱动开发系列小白入门经典 - vs2019双机调试wdk驱动程序
vs2019双机调试wdk驱动程序
远程配置虚拟机
我们发现VS2019菜单栏那里没有Driver选项,怎么办呢?
-
记得要把防火墙都关掉
在虚拟机设置中把打印机移除后再添加串行端口
- 因为打印机默认会用串口1,所以要先把虚拟机中的打印机干掉,然后添加一个串行端口:
该端是服务器,另一端是应用程序,这是什么意思呢?
-
这个虚拟机中的win10相当于是被调试的,另一端是应用程序,比如说我们这里的是vs2019。
配置好之后,vs2019就开始在虚拟机win10中安装双机调试所需要的各种程序服务了。 -
驱动分两种,一种是NT式驱动,一种是WDM驱动。
NT式的驱动就是以服务的方式,用工具SRVINSTW来安装
- 鼠标右键SRVINSTW.exe以管理员身份运行(一定要以管理员身份运行该工具):
- 上图程序路径一定要自己手工将要测试的驱动路径复制进行,因为浏览的话你只能找到.exe结尾的文件。
- 记得在粘贴的路径后面添加反斜杠\,再把要测试的驱动文件名复制进来。
这里直接下一步。
这里选手动,再下一步,点完成就行了。
然后,你要重启虚拟机win10禁用驱动程序强制签名才能进行远程调试。
开始设置vs2019中的调试设备
看上图右下角,这个时候就开始连虚拟机了,需要虚拟机中win10系统高级重启(禁用驱动程序强制签名)。
禁用驱动程序强制签名
-
在虚拟机win10中点击右下角通知,点击所有设置,点击更新和安全,然后点恢复,在右边的高级启动那里点击立即重新启动:
-
点击疑难解答、高级选项、启动设置,最后点击重启:
-
重启之后出现上图所示启动设置中的选项,我们这里点击数字键7或者按F7键,就会禁用驱动程序强制签名。
-
自动用WDKRemoteUser这个账号登录。
-
vs2019连上虚拟机中win10系统后,在vs2019中驱动程序代码里打断点:
-
现在我们给虚拟机中断一下,点击下图所示工具栏上的全部中断按钮:
这个时候可能就比较慢,vs2019会中断住虚拟机,所以比较慢,因为vs2019通过windbg中断虚拟机中win10内核,所以非常慢,中断之后虚拟机就挂住了、不动了,所以这个时候就证明了vs2019已经断住了。 -
打开Dbgview之前要先导入dbgview.reg注册表,然后以管理员身份运行Dbgview.exe。
-
右键以管理员身份运行控制台窗口cmd。
这时候断点就进来了,现在我们按F10键单步调试。