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

相关文章

Android开发中gradle下载缓慢的问题级解决方法

《Android开发中gradle下载缓慢的问题级解决方法》本文介绍了解决Android开发中Gradle下载缓慢问题的几种方法,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、网络环境优化二、Gradle版本与配置优化三、其他优化措施针对android开发中Gradle下载缓慢的问

使用Go语言开发一个命令行文件管理工具

《使用Go语言开发一个命令行文件管理工具》这篇文章主要为大家详细介绍了如何使用Go语言开发一款命令行文件管理工具,支持批量重命名,删除,创建,移动文件,需要的小伙伴可以了解下... 目录一、工具功能一览二、核心代码解析1. 主程序结构2. 批量重命名3. 批量删除4. 创建文件/目录5. 批量移动三、如何安

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

linux进程D状态的解决思路分享

《linux进程D状态的解决思路分享》在Linux系统中,进程在内核模式下等待I/O完成时会进入不间断睡眠状态(D状态),这种状态下,进程无法通过普通方式被杀死,本文通过实验模拟了这种状态,并分析了如... 目录1. 问题描述2. 问题分析3. 实验模拟3.1 使用losetup创建一个卷作为pv的磁盘3.

Windows设置nginx启动端口的方法

《Windows设置nginx启动端口的方法》在服务器配置与开发过程中,nginx作为一款高效的HTTP和反向代理服务器,被广泛应用,而在Windows系统中,合理设置nginx的启动端口,是确保其正... 目录一、为什么要设置 nginx 启动端口二、设置步骤三、常见问题及解决一、为什么要设置 nginx

本地搭建DeepSeek-R1、WebUI的完整过程及访问

《本地搭建DeepSeek-R1、WebUI的完整过程及访问》:本文主要介绍本地搭建DeepSeek-R1、WebUI的完整过程及访问的相关资料,DeepSeek-R1是一个开源的人工智能平台,主... 目录背景       搭建准备基础概念搭建过程访问对话测试总结背景       最近几年,人工智能技术

在Mysql环境下对数据进行增删改查的操作方法

《在Mysql环境下对数据进行增删改查的操作方法》本文介绍了在MySQL环境下对数据进行增删改查的基本操作,包括插入数据、修改数据、删除数据、数据查询(基本查询、连接查询、聚合函数查询、子查询)等,并... 目录一、插入数据:二、修改数据:三、删除数据:1、delete from 表名;2、truncate

基于Python开发PPTX压缩工具

《基于Python开发PPTX压缩工具》在日常办公中,PPT文件往往因为图片过大而导致文件体积过大,不便于传输和存储,所以本文将使用Python开发一个PPTX压缩工具,需要的可以了解下... 目录引言全部代码环境准备代码结构代码实现运行结果引言在日常办公中,PPT文件往往因为图片过大而导致文件体积过大,

在 Windows 上安装 DeepSeek 的完整指南(最新推荐)

《在Windows上安装DeepSeek的完整指南(最新推荐)》在Windows上安装DeepSeek的完整指南,包括下载和安装Ollama、下载DeepSeekRXNUMX模型、运行Deep... 目录在www.chinasem.cn Windows 上安装 DeepSeek 的完整指南步骤 1:下载并安装

5分钟获取deepseek api并搭建简易问答应用

《5分钟获取deepseekapi并搭建简易问答应用》本文主要介绍了5分钟获取deepseekapi并搭建简易问答应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1、获取api2、获取base_url和chat_model3、配置模型参数方法一:终端中临时将加