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

请添加图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐