从零配置vs2017驱动编程环境(保姆级教程)(2)

上一篇文章:从零配置vs2017驱动编程环境(保姆级教程)(1)-CSDN博客

这次我们来讲如何安装驱动以及双机调试

主要针对的是vs2017和wdk10.0.17134版本

驱动安装

驱动加载

为了方便安装驱动,我自己写了一个小程序用于加载驱动

下载地址:PorDriverLoader v0.2.zip - 蓝奏云

该软件比较简洁

我们把上次生成的sys文件放到测试机里

然后打开PDL把文件拖拽进去

内核信息查看

我们还需要一个能够查看内核打印信息的软件:DbgView

下载地址:DbgView.zip - 蓝奏云

注意要把软件上方菜单栏里的小齿轮点一下,这样才能看到内核消息

现在我们试试加载驱动

第一步创建服务,可以看到没有问题

但启动服务就有问题了

这是因为驱动程序需要有数字签名,而我们写的sys文件没有,所以才会报错

数字签名

我们用亚洲诚信的签名工具,下载地址:数字签名工具下载

我们还需要一些过期证书:数字签名证书.zip - 蓝奏云

先安装数字签名工具,安装完后应该是这样的

我们点击证书管理,选择导入

选择刚才的过期证书,输入密码,点击确定

这时我们还需要修改一下系统时间,在证书管理里界面可以看到证书开始日期和截止日期

我们只需要修改系统时间到截止日期之前,开始日期之后就行了

修改完之后刷新一下,可以发现证书变成白色了

我们再点击签名规则,选择添加

规则名随便取,证书选择刚才导入的,然后点确定

添加成功后就可以关闭软件了

这时我们右键我们写的驱动程序,可以看到出现了数字签名选项

选择驱动模式,出现以下界面说明签名成功

若出现以下界面

说明系统把时间调回来了,重新改一下系统时间就行了

这时我们重新加载一下驱动

可以看到,加载成功

若要停止和卸载驱动,分别选择停止服务和卸载服务就行了

要先停止后才能卸载

双机调试

有时候驱动出现了一些奇怪的bug,无法通过DbgPrint打印输出来确定,这时就需要双机调试了

关闭防火墙

第一步是关闭本机和测试机的防火墙,比较简单

关闭后可以互相ping一下,若没有超时则可以进行下一步

设置测试机器

先打开cmd,用ipconfig命令检查本机IP地址和测试机IP地址

然后将测试机关闭

选择"编辑此虚拟机"

选择添加,添加一个串行端口

将串行端口这么设置

命名管道为 \\.\pipe\com_1

然后打开测试虚拟机,并打开cmd,输入以下指令

bcdedit /debug on
bcdedit /copy {current} /d Debug

然后按win+r,输入msconfig,选择引导

点击框里的Debug,然后设为默认选项

接着选择高级选项,检查界面是否如下

若无误,则退出并重启

设置VS2017

我们选择上方菜单栏里的Driver,依次选择Test-Configure Devices...

然后点击Add New Device

之后操作如下

点下一步,然后这样设置

之后点击完成

点击OK

然后可以打开一个驱动项目,启动项目,确保测试虚拟机已打开且双方防火墙已经关闭

若出现该情况

选择是,不出意外会出现如下界面

点OK,然后会出错

选择确定,再次启动项目

然后又会出现如下情况

可以选择不再显示此对话框,然后选择是

若出现以下情况

选择右边的"I know what I'm doing.continue debugging"

等待一段时间,启动后,右下角的文本框就是调试器

若出现以下情况

点击上方菜单栏下面的暂停图标

若中断成功,说明两台机器成功连接

(虚拟机里翻车了,可能是网络原因,所以改成实机操作)

按f5或在右下角框里输入g接着回车,继续运行

然后在测试机上加载该项目生成的驱动并打上断点

可以看到中断成功

至此,vs2017驱动编程环境已初步成型

  • 27
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值