VS2015对WDK10驱动程序进行双机调试

【1】设置Visual Studio 2015调试方式:

主计算机:WIN7 64位
虚拟机:WIN7 64位
调试器:VS2015
调试的软件:内核驱动程序

一、主计算机和虚拟机两台机器必须关闭防火墙,必须能够互相ping通(使用桥接模式).


二、 将WDK10携带的调试驱动包拷贝到虚拟机中安装:

1)WDK10安装时如果用的是默认路径:                          //两个都可以安装,因为VS2015可以调试32位和64位的驱动程序

C:\Program Files (x86)\Windows Kits\10\Remote\x64\WDK Test Target Setup x64-x64_en-us     //64位调试驱动包
C:\Program Files (x86)\Windows Kits\10\Remote\x86\WDK Test Target Setup x86-x86_en-us     //32位调试驱动包

2)如果你自定义了WDK10安装路径,请到你指定的目录寻找.


三、虚拟机添加串口:

1)设置-->添加-->串型接口-->输出到命名管道.

2)设置选项为“另一端为应用程序” 并且“ 为管道命名不要为常见名称”  --> 添加命名管道完成.


问题:因为一般虚拟机的串口1是打印机,串口2才是我们创建的,所以可能连接时,会弄错,导致后来不能连接上串口通道.

解决:打开“运行”输入MSConfig,弹出MSConfig工具:(原创百度经验地址:http://jingyan.baidu.com/article/3a2f7c2e6dee4126afd611c6.html)

            VS2015对WDK10驱动程序进行双机调试_第1张图片

         1)打开boot工具的debug,修改com1为com2:

        VS2015对WDK10驱动程序进行双机调试_第2张图片


四、虚拟机进入调试模式://使用管理员权限打开cmd,输入以下命令

       1)bcdedit /debug ON                        开启调试模式

       //设置串口的波特率为115200bps(其实默认就是,不用修改)

       2)bcdedit /dbgsettings serial debugport:串口号 baudrate:115200

       3)bcdedit /dbgsettings                      查看当前的调试配置

       4)bcdedit /timeout 10                        选择菜单的超时,我设置为10秒


五、驱动程序的项目点右键-->选择属性菜单-->选择调试选项-->在右边要启动的调试器上选择Debugging Tools for windows – Kernel Debugger-->Remote Computer Name上点击配置,就会出现配置窗口,界面如下:

VS2015对WDK10驱动程序进行双机调试_第3张图片

1)点击Add New Devide添加调试主机.

VS2015对WDK10驱动程序进行双机调试_第4张图片

2)下一步

VS2015对WDK10驱动程序进行双机调试_第5张图片

3)点击下一步,会对虚拟机进行自动安装,在此过程中,不应动虚拟机:

VS2015对WDK10驱动程序进行双机调试_第6张图片

4)安装完成后,点击应用:

VS2015对WDK10驱动程序进行双机调试_第7张图片

5)在VS2015中选择调试-->附加到进程:

     1、传输:选择Windows Kernel Mode Debugger

     2、限定符:选择创建新测试设备时输入的那个名称

     3、以下可用进程出现一个Kernel的进程,点击它附加.

VS2015对WDK10驱动程序进行双机调试_第8张图片

6)附加完成后,VS2015右下角会出现Debugger的“waiting to reconnect”.

7)如果没有问题,重启虚拟机,VS2015右下角会出现Debugger就会连接上了,状态为“正在跑”.


8)虚拟机启动完成后,打开“驱动程序加载工具"

   必须确保将加载的驱动程序的.sys是DEBUG版的,而且要与VS2015调试中的代码对应.

   (你的sys和加载驱动工具必须已经测试过能够加载驱动程序.)

   //这就需要先看地址:http://blog.csdn.net/aaron133/article/details/78091639  加载驱动的文章.

   

9)打开“驱动程序加载工具"后,VS2015中点击暂停:,你会发现虚拟机整个卡住了.

VS2015对WDK10驱动程序进行双机调试_第9张图片

10)现在才能设置有效断点,F9设置好断点后:

在VS2015右下角的Debugger界面中输入:kd> g        表示继续跑.


11)使用加载驱动程序加载我们的.sys驱动程序,当sys跑起来后,就能够断下来了:

VS2015对WDK10驱动程序进行双机调试_第10张图片


如果在此其中出现问题,请查看详细文章:http://blog.csdn.net/liuyez123/article/details/50857621

你可能感兴趣的:(Windows内核驱动编程)