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

    在用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)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1)打开boot工具的debug,修改com1为com2:
在这里插入图片描述
四、虚拟机进入调试模式://使用管理员权限打开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上点击配置,就会出现配置窗口,界面如下:
在这里插入图片描述
1)点击Add New Devide添加调试主机.
在这里插入图片描述
2)下一步
在这里插入图片描述
3)点击下一步,会对虚拟机进行自动安装,在此过程中,不应动虚拟机:
在这里插入图片描述
4)安装完成后,点击应用:
在这里插入图片描述
在这里插入图片描述

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

 1、传输:选择Windows Kernel Mode Debugger

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

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

在这里插入图片描述
6)附加完成后,VS2015右下角会出现Debugger的“waiting to reconnect”.

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

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

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

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

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

9)打开“驱动程序加载工具"后,VS2015中点击暂停:,你会发现虚拟机整个卡住了.
在这里插入图片描述
10)现在才能设置有效断点,F9设置好断点后:

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

11)使用加载驱动程序加载我们的.sys驱动程序,当sys跑起来后,就能够断下来了:
在这里插入图片描述
如果在此其中出现问题,请查看详细文章:http://blog.csdn.net/liuyez123/article/details/50857621

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值