Windows驱动开发如何配置双机环境?

目录

前言

一、配置虚拟机     

二、在主机上配置目标机以便进行驱动程序部署和测试

三、在目标机上配置以便主机能与之通信

四、在主机进一步配置

五、在主机上安装WinDBG preview版本


前言

所谓双机指主机(Host)和目标机(Target)(测试机),目标计算机用来进行驱动程序部署和测试,还有调试。
 

由于在调试期间, 通常会停止处理器上的指令执行,你会感到机器僵死、卡顿, 因此通常使用两个计算机系统。

在某些情况下,你可以使用虚拟机用作第二个系统。 但是,如果你的代码正在与低级硬件通信,则使用虚拟机可能不是最佳方法。

本篇使用VMWare 虚拟机作为目标机。

                图(一) 主机和目标机调试图示

一、配置虚拟机     

1. 在VMware上安装跟主机同样版本的Windows.
2.虚拟机的网络配置如下图(二)所示:

 3.虚拟机上安装Windows SDK, Windows WDK,安装方法请参考我的另一篇文章:Windows 驱动开发环境设置_Trail2009的博客-CSDN博客


二、在主机上配置目标机以便进行驱动程序部署和测试

注意:这里的配置的目的是为了驱动程序的部署和测试,不是调试!
因为在Windows 10的 WDK 1507 及更高版本中,不能用 Visual Studio 进行调试。
所以本篇及下篇还是使用WinDBG进行驱动源码级调试,具体使用WinDBG Preview版本。
 

1.在Vs2019中建立一个Kernel mode 驱动程序:


2.选中工程,右键,打开属性页面:

 

3.在属性页面配置目标机:

 4、在如下配置页面,指定目标机(上面所建的虚拟机)的IP,如红框所示:

 5、然后下一步,记下下一个页面的端口号和key,保持该页面不动:

三、在目标机上配置以便主机能与之通信
 

  1. 在目标计算机上,以管理员身份打开命令提示符窗口。 输入此命令以启用调试:

    C:\> bcdedit /set {default} DEBUG YES
  2. 键入以下命令以启用测试签名:

    C:\> bcdedit /set TESTSIGNING ON
  3. 键入此命令可设置主机的 IP 地址和key:

    C:\> bcdedit /dbgsettings net hostip:192.168.1.3 port:50520 key:LXZGNT3M28PE.OCMN43RGV8K9.6JXKI6TDJNKX.4QSEI46PWSRB
  4. 键入以下命令,确认已正确设置 dbgsettings

    C:\> bcdedit /dbgsettings
    key                     LXZGNT3M28PE.OCMN43RGV8K9.6JXKI6TDJNKX.4QSEI46PWSRB
    debugtype               NET
    hostip                  169.168.1.3
    port                    50520
    dhcp                    Yes
    操作成功完成。

四、在主机进一步配置

回到主机,继续上次的配置步骤 :

 直到看到如下面的配置信息,表明配置成功,(如出现“由于目标计算机积极拒绝,无法连接。 (10061)”,可重启动虚拟机再试):

五、在主机上安装WinDBG preview版本

https://www.microsoft.com/zh-cn/p/windbg-preview/9pgjgd53tn86?rtc=1&activetab=pivot:overviewtabhttps://www.microsoft.com/zh-cn/p/windbg-preview/9pgjgd53tn86?rtc=1&activetab=pivot:overviewtab

至此,双机编译,部署,测试,调试环境准备完毕!! 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值