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

2024-01-31 05:04

本文主要是介绍Windows驱动开发之环境搭建,长期Waiting for connecting...思路,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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)。

请添加图片描述

这篇关于Windows驱动开发之环境搭建,长期Waiting for connecting...思路的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/662633

相关文章

一篇文章彻底搞懂macOS如何决定java环境

《一篇文章彻底搞懂macOS如何决定java环境》MacOS作为一个功能强大的操作系统,为开发者提供了丰富的开发工具和框架,下面:本文主要介绍macOS如何决定java环境的相关资料,文中通过代码... 目录方法一:使用 which命令方法二:使用 Java_home工具(Apple 官方推荐)那问题来了,

vite搭建vue3项目的搭建步骤

《vite搭建vue3项目的搭建步骤》本文主要介绍了vite搭建vue3项目的搭建步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1.确保Nodejs环境2.使用vite-cli工具3.进入项目安装依赖1.确保Nodejs环境

Nginx搭建前端本地预览环境的完整步骤教学

《Nginx搭建前端本地预览环境的完整步骤教学》这篇文章主要为大家详细介绍了Nginx搭建前端本地预览环境的完整步骤教学,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录项目目录结构核心配置文件:nginx.conf脚本化操作:nginx.shnpm 脚本集成总结:对前端的意义很多

一文详解Python如何开发游戏

《一文详解Python如何开发游戏》Python是一种非常流行的编程语言,也可以用来开发游戏模组,:本文主要介绍Python如何开发游戏的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、python简介二、Python 开发 2D 游戏的优劣势优势缺点三、Python 开发 3D

Linux挂载linux/Windows共享目录实现方式

《Linux挂载linux/Windows共享目录实现方式》:本文主要介绍Linux挂载linux/Windows共享目录实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录文件共享协议linux环境作为服务端(NFS)在服务器端安装 NFS创建要共享的目录修改 NFS 配

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

idea+spring boot创建项目的搭建全过程

《idea+springboot创建项目的搭建全过程》SpringBoot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目,:本文主要介绍idea+springb... 目录一.idea四种搭建方式1.Javaidea命名规范2JavaWebTomcat的安装一.明确tomcat

Java中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例解析

《Java中的分布式系统开发基于Zookeeper与Dubbo的应用案例解析》本文将通过实际案例,带你走进基于Zookeeper与Dubbo的分布式系统开发,本文通过实例代码给大家介绍的非常详... 目录Java 中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例一、分布式系统中的挑战二

k8s搭建nfs共享存储实践

《k8s搭建nfs共享存储实践》本文介绍NFS服务端搭建与客户端配置,涵盖安装工具、目录设置及服务启动,随后讲解K8S中NFS动态存储部署,包括创建命名空间、ServiceAccount、RBAC权限... 目录1. NFS搭建1.1 部署NFS服务端1.1.1 下载nfs-utils和rpcbind1.1

Oracle数据库在windows系统上重启步骤

《Oracle数据库在windows系统上重启步骤》有时候在服务中重启了oracle之后,数据库并不能正常访问,下面:本文主要介绍Oracle数据库在windows系统上重启的相关资料,文中通过代... oracle数据库在Windows上重启的方法我这里是使用oracle自带的sqlplus工具实现的方