欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

VS2015+WDK10+SDK10搭建驱动调试环境

程序员文章站 2022-07-14 16:15:01
...

1.准备工具:

VS2015

WDK10

SDK10

主机:Win10, 目标测试机:Win7 64位

VS2015+WDK10+SDK10搭建驱动调试环境VS2015+WDK10+SDK10搭建驱动调试环境

务必确保WDK和SDK都是同一个版本10.0.15063. 最前面大版本号要一致,不然后面会报很多打不开.h的错误。还要注意,wdk和sdk不能有多个。

2.这边就不安装虚拟机了直接开始配置:

VS2015+WDK10+SDK10搭建驱动调试环境

VS2015+WDK10+SDK10搭建驱动调试环境

VS2015+WDK10+SDK10搭建驱动调试环境

管理员身份,在虚拟机命令行模式下运行如下2个命令开启。

     bcdedit /debug on
      bcdedit /dbgsettings serial debugport:n baudrate:115200

n是虚拟机里显示的串口号,我这边就是端口2,把n改成2跑命令。


3、把WDK10的虚拟机调试驱动拷贝到虚拟机中安装。

VS2015+WDK10+SDK10搭建驱动调试环境

目标机器是64位的所以拷贝这个文件到虚拟机之后安装。

4.目标机器Win7 64位做一些设置:

1、DbgView软件。微软下载地址:https://docs.microsoft.com/zh-cn/sysinternals/downloads/debugview

2、WIN7**册表修改,将以下代码写到.txt文件,将后缀改成.reg,注册此项.重启计算机

Windows Registry Editor Version 5.00    
    
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Debug Print Filter]    
"DEFAULT"=dword:0000000f    
3、DbgView软件必须使用管理员权限打开

4、在Capture选项里,把那几个选项都扣上,使用加载驱动程序(网上找或自己写加载驱动服务的程序),即可看见DbgPrintf字符串信息输出了.

5、 禁用强制驱动程序签名(WIN7开机F8选择禁用强制驱动程序签名),要进入测试模式VS2015+WDK10+SDK10搭建驱动调试环境

6、关闭兼容性助手:cmd的services.msc命令打开服务,“Program Compatibility Assistant Service”服务选择为禁用.

上面步骤都要配一个也不能少,否则服务注册不了。

5.VS2015工程配置:

1、属性页 ---> C/C++ ---> 等级警告设置为3.

2、Driver Settings(驱动设置)  ---> Target Platform(目标平台)设置为Desktop(桌面).

3、Driver Settings(驱动设置)  ---> Target OS Version设置为Win7(因为我的测试机是Win7,如果你是Win10,那么你选Win10)


4、Inf2Cat--->Run Inf2Cat设置为否

(参考:http://blog.csdn.net/doublestarts/article/details/37922819)


5、Driver Signing(驱动数字签名)  ---> Sign Mode设置为Off

6、编译驱动程序为X64 (现在很少X86的系统了吧,X64系统不能使用X86的驱动程序)

代码:

VS2015+WDK10+SDK10搭建驱动调试环境

编译代码,生成驱动文件 xxxx.sys 把这个目录下的文件都拷贝到win7虚拟机中。

用工具安装驱动,并启动,必须要在 禁用驱动签名,和测试模式下才能安装注册成功!

VS2015+WDK10+SDK10搭建驱动调试环境


7.vs附加到虚拟机中调试驱动,用串口调试方式。

在VS2015的菜单栏点击DRIVER--TEST--CONFIGURE DEVICES会报错估计是VS2015的Bug求大神指点。如图
VS2015+WDK10+SDK10搭建驱动调试环境
VS2015+WDK10+SDK10搭建驱动调试环境
VS2015+WDK10+SDK10搭建驱动调试环境
VS2015+WDK10+SDK10搭建驱动调试环境
出现红字说明配置成功!

VS2015+WDK10+SDK10搭建驱动调试环境

VS2015+WDK10+SDK10搭建驱动调试环境

VS2015+WDK10+SDK10搭建驱动调试环境

注册工具点了启动之后,会进入到设备开始事件里:

VS2015+WDK10+SDK10搭建驱动调试环境

VS2015+WDK10+SDK10搭建驱动调试环境

至此结束,现在就可以像调试winform程序那样调试驱动了。

注意事项:1.要用debug输出的驱动文件拷贝到虚拟机。不然看不到调试输出信息。

2.编译出来的文件要和目标测试系统版本要一致,我测试都是64位。

3.源码改动之后,要把编译文件重新拷贝到虚拟机中,才能附加进行断点,否则进不了断点,和winfrom类似。

结束!