windbg 双机调试环境搭建(虚拟机)

windbg 双机调试环境搭建(虚拟机)

  • WinDbg 下载安装
    • 下载安装
  • 虚拟机下载安装
    • 下载安装虚拟机软件 VMware
    • 下载 Windows 镜像,新建虚拟机
  • WinDbg 建立连接
  • 使用演示
  • 参考资料


WinDbg 是一个调试器,可用于分析故障转储、调试实时用户模式和内核模式代码,以及检查 CPU 寄存器和内存。

WinDbg 下载安装

windbg 目前最常用的版本分为 Windbg 和 Windbg Preview 两种版本,前者是在安装 WDK 后自动安装的版本,后者需要自己从官方网站下载安装。

Windbg 属于传统应用界面(版本虽然又更新,但是界面显示效果依然老旧)
windbg 双机调试环境搭建(虚拟机)_第1张图片

Windbg Preview 则采用新版本的 UI 风格显示。
windbg 双机调试环境搭建(虚拟机)_第2张图片

这两个版本的功能一致、使用方式也一样。具体使用哪种根据大家自己的需求都可以,这两个版本基本上可以说是一样的。

下载安装

WinDbg 的是和 Windows WDK 集成到一起的。所以安装 Windows WDK 后会自动安装 WinDbg 旧版本样式的。安装 Windows WDK 可以参考这篇文章(Windows 驱动开发环境搭建)

至于 WinDbg Preview (现在版本更新,预览版已经更名为正式版本 WinDbg)版本则需要去 Windows 官方网站下载,下载地址:安装 WinDbg

下载链接:WinDbg下载链接

下载完成后,双击即可进入 Windows 应用商店安装界面,选择安装即可完成安装。

虚拟机下载安装

下载安装虚拟机软件 VMware

Windows 下的虚拟机软件有很多,比如 VMware、VirtualBox 等等。我个人习惯用 VMware,所以这里我选择下载安装的是 VMware。

和一般的 Windows 应用程序安装步骤一样,安装完成后打开 VMware,首次打开界面是空的 (因为还没有新建虚拟机)。如下图:

windbg 双机调试环境搭建(虚拟机)_第3张图片

下载 Windows 镜像,新建虚拟机

安装好 VMware 软件后,我们需要去下载调试所需的 OS 镜像(Windows 镜像),我这里开发调试的是 Windows 10 版本,所以去官网下载对应的系统镜像:

下载 Windows 10

windbg 双机调试环境搭建(虚拟机)_第4张图片

下载完成系统镜像后,我们打开 VMware ,选择新建虚拟机,导入系统镜像,然后根据提示进入新建虚拟机就可以完成了。下面是我新建好的虚拟机页面:

WinDbg 建立连接

正常设置目标机器的 Dbg server 步骤参考这个链接:自动设置 KDNET 网络内核调试,基本操作是通过 kd.exe 设置机器名称及 key。然后在宿主机上使用 WinDbg 填入对应的 IP 和 key 进行连接即可。

但是我们在构建开发环境的时候,已经在本机上安装好了 VS2019,所以这里就可以利用 VS2019 的功能来新建虚拟机链接。

在 VS2019 菜单栏中点击“扩展”——“Driver”——“Test”——“Configure Devices”。
windbg 双机调试环境搭建(虚拟机)_第5张图片
选择添加新的机器。
windbg 双机调试环境搭建(虚拟机)_第6张图片

windbg 双机调试环境搭建(虚拟机)_第7张图片
windbg 双机调试环境搭建(虚拟机)_第8张图片

windbg 双机调试环境搭建(虚拟机)_第9张图片
如果这里配置出现失败很大可能是网络原因,你需要确定你输入的目标机器的 IP 是正确的,并且是可以被本机正常访问的。在目标机器上使用 powershell 查看一下:

ipconfig
ping <本机IP>

windbg 双机调试环境搭建(虚拟机)_第10张图片
同样,在本机上也测试一下,确保本机也可以正常访问虚拟机 IP

windbg 双机调试环境搭建(虚拟机)_第11张图片

在这里,VS2019 会帮助我们进行目标机器的服务配置,配置完成后会自动重启目标机器,然后我们就可以正常使用了。在完成配置后会出现目标机器的 KEY(这个很重要)。
windbg 双机调试环境搭建(虚拟机)_第12张图片

通过 VS2019 能帮助我们很方便完成对目标机器的 Windbg 的配置,我们拿到对应的 KEY 后就可以在 Windbg 中填入这些信息来使用 Windbg。

在 Windbg 的 “文件” 选项中选择 “Attach to kernel”,然后将刚刚 VS2019 中拿到的信息填入就可以建立 WinDbg 双机调试链接。

windbg 双机调试环境搭建(虚拟机)_第13张图片
windbg 双机调试环境搭建(虚拟机)_第14张图片

使用演示

通过 Windbg 建立连接后,我们可以使用 break 将当前内核进程停下来,这样就可以输入 dbg 命令来进行内核调试:

windbg 双机调试环境搭建(虚拟机)_第15张图片
windbg 双机调试环境搭建(虚拟机)_第16张图片

参考资料

安装 Windows 调试器

什么是 WinDbg

Windows 调试入门

用于调试的 Windows 符号包

你可能感兴趣的:(Windows驱动,windows,bug)