一直使用Visual Studio + WDK的方式开发Windows驱动,最近想在VS2017下安装WDK10开发驱动,结果遇到问题了,首先是没法实现双机调试,然后是编译出来的驱动在Win7平台下一加载就蓝屏,定位到是security_cookie的问题,紧接着又是生成的驱动与老版本Window兼容性的问题,最后是KdPrint消息看不到的问题。本文主要对遇到的这些问题和解决办法进行记录,主语虚拟机中Win7的安装等常规操作则略过,安装好后的配置,搜一下“虚拟机win7 双机调试”也都能解决。
搭建双机调试环境时的坑
WinDBG提示找不到对应串口,需将虚拟机中的打印机删除,该打印机默认占用了COM1口:
对应WinDBG参数为:
"C:\Program Files (x86)\Windows Kits\10\Debuggers\x86\windbg.exe" -b -k com:pipe,port=\\.\pipe\com_1,resets=0,reconnect -y SRV*E:\DBGSymbols*E:\MySymbols*http://msdl.microsoft.com/download/symbols
解决由于Security Cookie初始算法不兼容导致的加载时蓝屏
用VS2017配合WDK10搭了个驱动开发环境,用其中的WDM模板写了个NT式的HelloWorld驱动,编译后拖到测试机里运行居然蓝屏了。故障定位是/GS机制造成的&#