VMware-Win10x64+WDK10+VS2015/2019环境搭建与双机调试
1、驱动程序的开发语言选择
调用约定
运行时函数的调用
2、配置驱动开发环境1–vs2015+SDK+WDK10
查看 win10 的版本
- win10最好用专业版,因为企业版问题非常多,主机是专业版,虚拟机也要是专业版,这点要注意。
如何下载 sdk
大家看上图,15063这是vs2015自带的,这里我装了两套,我又装了SDK 17134,然后我又装了WDK 17134,这个我们一定要对应上,如果不对应上,编译的时候会出问题。
如何下载 wdk
- 大家看上图,这里我的win10版本是1803,按照上图要求应该用vs2017,但是我们还是用的vs2015,只要sdk和wdk版本对应上就可以,当然用vs2017、vs2019都是可以的。
安装 Visual studio 2015
安装 sdk
安装 wdk
Win10 驱动程序示例
https://github.com/Microsoft/Windows-driver-samples
Vmware–Win10x64
cn_windows_10_consumer_editions_version_2004_x64_dvd
http://www.win10com.com/win10jiaocheng/14029.html
- 注意,win10一定要选择安装专业版(上面链接)。
在虚拟机中安装完win10操作系统后,关闭虚拟机。
创建串口
注意:最好把 “ 打印机 ” 删除掉。`
启用系统保护
“创建系统还原点”
- vs2015在创建调试设备的时候,最后一步它会帮我们创建系统还原点。
3、配置驱动开发环境2–vs2015+SDK+WDK10
这节我们看下,vs2015远程调试虚拟机上win10的驱动。
虚拟机中安装 WDK Test Target Setup xxxxx.msi
- 安装下图这两个远程驱动调试工具:
该工具所在位置如下图所示,x86有一个,x64也有一个:
虚拟机中关闭 “ 驱动证书检测程序 ”
VS2015 基本配置(配置远程调试设备)
- 输入虚拟机中计算机的名字:
Network host name 对应你虚拟机中win10的计算机名称:Win102020CXAZZF
上面的用户模式 User Mode 设置为TCP就可以了,这个比较方便。
Pipe name 这一项你要设置成跟虚拟机串口的一样:\.\pipe\com_1
Target Port 这一项你设置成跟上面的端口号一样就行 com_1 。
- 然后开始复制文件、安装很多服务并进行相应配置:
有一个坑
vs2015默认会在虚拟机的win10中安装很多服务,如下图所示,WDKRemoteUser这个账号默认是带密码的,就会造成在上图安装远程调试的时候是失败的,因为有密码它登不上,我们的解决办法是重启系统用administrator登录,右击我的电脑,打开管理:
把上图这两个密码框设置为空,点确定就行了,这样的话这个远程账号就是空密码,然后我们把虚拟机中的这个win10关闭,重启电脑的时候用这个WDKRemoteUser账号登录,然后再来重新在vs2015中Driver->Test->Configure Devices,按照上面那些步骤配置远程调试设备。
如上图所示开始复制文件、安装驱动,大家一定要注意这个坑,一定要清除WDKRemoteUser这个账号的密码,然后重新登陆进行VS的配置,然后就成功了,会帮我们安装上下图所示的各种工具。
此时还不能通过vs2015对虚拟机中的驱动进行远程调试,还需要禁用驱动程序签名。
重启 win10 ,禁用驱动程序签名
- 点击右下角的通知、所有设置、更新和安全、恢复、立即重新启动:
这个时候用vs2015再远程调试虚拟机中的驱动就可以了,点击vs2015中的调试、附加到进程,弹出的窗口中传输那里选择Windows Kernel Mode Debugger,限定符那里选择我们创建好的远程主机名,可用进程那里选Kernel,然后点附加:
点完附加后vs2015中的Windbg就开始等待虚拟机中的远程主机重启了,虚拟机中win10重启的时候,一定要按照前面所说的“重启win10,禁用驱动程序签名”的步骤进行重启。
驱动安装工具 SRVINSTW.EXE
- 这个时候不要点浏览,因为它默认只识别exe格式的文件,复制我们要测试的驱动所在的路径粘贴到这个编辑框里,记得再路径最后添加反斜杠\,再把我们驱动的文件名复制下来粘贴到反斜杠后面:
- 驱动器目标名这里选空,直接下一步,然后选手动。
- 安装上这个驱动之后,管理员模式启动控制台,输入下图所示命令启动我们这个驱动:
- 在vs中点击暂停、继续,如果你发现vs没有相应虚拟机中驱动的启动、停止卸载的话,那就需要重启虚拟机中win10,重新让vs连接才行。
Win10x64 中安装 WDM 驱动
第一步:添加过时硬件
第二步:安装我手动从列表选择的硬件
然后点击“下一步”,选择“所有设备”,再点击“下一步”
第三步:从磁盘安装
选择“inf 文件”