Windows驱动开发之环境搭建,长期Waiting for connecting...思路

本文详细介绍了如何在Windows环境下进行驱动程序开发,包括使用WDK、VisualStudio2022IDE以及windbg的调试环境搭建步骤,重点讲解了VMware虚拟机配置和windbg的连接设置。
摘要由CSDN通过智能技术生成

Windows驱动开发之环境搭建

1、前期准备

  • Vmware虚拟机软件

  • Windows10 iso安装包

  • Visual Studio2022 IDE软件

  • SDK安装(一定要勾选上debug选项,windbg在里面)

  • WDK(Windows驱动程序工具包)

WDK安装请参考官方文档:下载 Windows 驱动程序工具包 (WDK) - Windows drivers | Microsoft Learn

第一步:开发环境搭建

注意事项:在安装完WDK后,VisualStudio2022还不能开发驱动程序,因为还未向VisualStudio2022安装WDK的扩展包;需要在WDK安装目录下或使用everything全局搜索“WDK.vsix”文件,安装即可。

请添加图片描述

打开VisualStudio IDE “新建项目” 后出现上图“Driver”字样说明我们的开发环境搭建完成啦!恭喜完成第一步。

第二步:调试环境搭建

配置虚拟机;

为虚拟机添加一个串行端口

请添加图片描述

注:添加串口后需要修改串口配置;”使用命名的管道“,配置管道名,修改”另一端是应用程序“(另一端是windbg,故而是应用程序)

配置windbg;

创建一个windbg的桌面快捷方式,设置目标为:“xxx/xxx/windbg.exe” -b -k com:port=\\.\pipe\com_1,baud=115200,pipe

上面的xxx/xxx/windbg.exe替换为自己的windbg.exe路径即可

配置虚拟机中Windows10系统;

需要开启Vmware中的Windows10系统(前期准备里面应该已经安装完成啦!!!)

请添加图片描述

Windows键,输入“msconfig”,会出现“系统配置”应用,打开即可

请添加图片描述

打开“引导”标签页,点击“高级选项”按钮,勾选“调试”复选框,选择“COM1”调试端口,调整波特率为“115200”。

请添加图片描述

后续按下面顺序进行执行即可(内容同其他博客)

  1. 以管理身份打开"cmd"

  2. 输入”bcdedit“
    请添加图片描述

  3. 设置端口1,命令如下:

    bcdedit /dbgsettings serial baudrate:115200 debugport:1
    
  4. 复制一个开机选项,命名为“DebugEntry”(可任意命名)。命令如下:

    bcdedit /copy {current} /d DebugEntry
    
  5. 增加一个开机引导项

    bcdedit /displayorder {current} {ID}
    

    注:这个ID要填写上一条命令生成的一串数字或字母。

  6. 激活Debug

    bcdedit /debug {ID} ON
    

    注:ID以生成的数字或字母串代替。

  7. 重启虚拟机,选择“DebugEntry[debug]”作为启动项

  8. 选择好启动项后,立即回到主机,启动windbg。只有在虚拟器系统启动过程中,才能连接上!!!(真的!真的!真的!)否则windbg会一直在下面这个界面上

    ***请添加图片描述


永远都停留在”Waiting to reconnect…“,永远…

最后效果展示

请添加图片描述

windbg使虚拟机中的操作系统中断啦,只需要在kd> 文本框中输入"g",系统便可继续执行。

请添加图片描述

选择我们上面配置的“DebugEntry”引导项,系统继续运行;若系统再次卡住,说明又被Windbg给打断啦,输入“g”继续。

windbg在“*BUSY*Debuggee is running”状态时,可以使用“Ctrl + Pause(键盘右上角寻找)”进行打断操作,进行打断点或者后面我们查看当前的PC所有的驱动(kd> lm n t)。

请添加图片描述

kafka.zookeeper.ZooKeeperClientTimeoutException: Timed out waiting for connection while in state: CONNECTING是Kafka中的一个错误,表示在连接状态为CONNECTING时等待连接超时。这个错误通常是由于ZooKeeper连接超时引起的。要解决这个问题,可以尝试以下几种方法: 1. 检查ZooKeeper服务器的可用性:确保ZooKeeper服务器正在运行,并且可以通过Kafka配置文件中指定的主机和端口进行访问。 2. 增加连接超时时间:可以通过在Kafka配置文件中增加以下参数来增加连接超时时间: ```shell zookeeper.connection.timeout.ms=6000 ``` 这将把连接超时时间增加到6秒。根据实际情况,您可以适当调整超时时间。 3. 检查网络连接:确保Kafka服务器和ZooKeeper服务器之间的网络连接正常。您可以尝试使用telnet命令测试与ZooKeeper服务器的连接: ```shell telnet <ZooKeeper服务器主机> <ZooKeeper服务器端口> ``` 如果telnet命令无法连接到ZooKeeper服务器,则可能存在网络连接问题。 4. 检查防火墙设置:如果您的系统上启用了防火墙,请确保防火墙允许Kafka服务器和ZooKeeper服务器之间的通信。 5. 检查Kafka配置文件:确保Kafka配置文件中的ZooKeeper连接字符串正确配置。您可以检查以下参数: ```shell zookeeper.connect=<ZooKeeper服务器主机>:<ZooKeeper服务器端口> ``` 这些方法应该能够帮助您解决kafka.zookeeper.ZooKeeperClientTimeoutException: Timed out waiting for connection while in state: CONNECTING错误。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值