最近一直在写驱动,但是因为也是新手,所以对他的调试不是很清楚,前面写另外一个驱动的时候,是有另一个同事帮忙配置了虚拟机,而后就一直在用win7 32位系统测试各种驱动,但是众所周知的是,一代系统一代驱动,虽然大致相同,但是就是一些小异坑死人,而在最近写好了一个过滤驱动,但是在win7上测试没问题了,然后一拿到win8上就各种问题,不是卡死就是蓝屏,所以无奈之下准备开始调试,然后问题就来了,这个环境配置需要面对的坑真的不少,今天就自己做个总结吧。
首先,经过观察,其实无论安装的是那个版本的windows虚拟机系统,他们的配置都是一样的。
所以,就不单独说某某系统什么的要怎么配置了:
1、虚拟机配置
看到这个东西了吧,先把打印机删掉,网上其他介绍双击配置的很多,但是都不说这个,然后就导致你一脸懵逼:我是照着来的啊,怎么调试不了~,然后点击添加
以上,就是虚拟机的配置了。
2、虚拟机启动项配置
cmd 下执行如下命令:
// 设置串联端口1为调试端口,波特率115200
bcdedit /dbgsettings serial debugport:1 baudrate:115200
操作成功完成。
// 复制一个开机选项,并命名 czDebug Win8
bcdedit /copy {current} /d "czDebug Win8"
已将该项成功复制到 {182eec47-2e99-11e9-bbbb-89a508126aa1}
// 打开(激活)调试开关
bcdedit /debug {182eec47-2e99-11e9-bbbb-89a508126aa1} on
操作成功完成。
// 查看配置
bcdedit /enum
创建一个windbg的快捷方式,其命令行为
"C:\Program Files\Debugging Tools for Windows (x86)\windbg.exe" -b -k com:port=\\.\pipe\com_1,baud=115200,pipe
winddbg 下载地址
x64
http://download.microsoft.com/download/A/6/A/A6AC035D-DA3F-4F0C-ADA4-37C8E5D34E3D/setup/WinSDKDebuggingTools_amd64/dbg_amd64.msi
x86
http://download.microsoft.com/download/A/6/A/A6AC035D-DA3F-4F0C-ADA4-37C8E5D34E3D/setup/WinSDKDebuggingTools/dbg_x86.msi
3、vs的配置
我用的是2013,仅供参考:
设置好了,把驱动工程设置为启动项,f5运行就是了
然后开启虚拟机,开启后切换到vs
全部中断,会等一会儿,然后再f5运行,吧你的驱动拷贝到虚拟机,安装上,就可以开始调试了
另外说个网上也没有说的
一般都是说,关机后,开启虚拟机,才能调试,但是朋友们啊 ,老少爷门儿啊,电脑稍微差一点,这个开机慢的要死啊
后来,我发现,当配置好了以后,你开机测试确实能调试了,那么,不要犹豫,点开vm的虚拟机设置
拍摄完快照之后,你再f5调试就不需要再干什么关机,开启虚拟机,傻等半天,在调试了
步骤变更为,关机->vs里面f5->恢复快照->开始调试
极大的节省时间