必须执行bcdedit /debug on并成功返回,否则Windbg内核调试链路在启动阶段即卡死;目标机需网络可达、防火墙放行端口、串口映射一致或KDNET自动配置,且务必重启生效。

要在Windows 10上启用WinDbg内核调试,必须在目标机(被调试机)上开启调试模式、配置传输协议并设置安全策略,否则Windbg连握手信号都收不到——哪怕IP通、端口开放、防火墙关闭,【bcdedit /debug on 必须执行且成功返回】这一步漏掉或返回“拒绝访问”,整个链路就卡死在启动阶段。
确认主机与目标机网络可达性
先用PowerShell在目标机(虚拟机或物理机)中执行:Test-NetConnection 主机IP -Port 50045。如果显示“TcpTestSucceeded : False”,别急着改Windbg命令——90%的情况是目标机防火墙没关,或主机未监听该端口。此时回到主机运行netstat -ano | findstr :50045,确认Windbg服务进程是否已绑定端口。若无输出,说明主机端根本没启动监听。
目标机必须能ping通主机IP,且主机的Windows Defender防火墙需放行对应端口入站规则。仅关闭防火墙不保险,有些企业版系统默认启用“域配置文件”独立策略,得进“高级安全Windows Defender防火墙”里手动新建入站规则。
串口调试:COM端口映射一致性校验
方法一:VMware虚拟机串口直通(推荐用于驱动开发复现)
在VMware设置中添加串口 → 选择“输出到命名管道” → 管道名称填\.pipecom_1 → 勾选“此端口已连接到外部应用程序”和“虚拟机内部应用程序”。这步做完后,目标机设备管理器里必须看到COM1(不是COM2或COM3),否则bcdedit配置COM1会失败。
方法二:物理机双COM线直连(需USB转TTL模块)
用CH340芯片的USB转TTL模块接两台电脑,TX/RX交叉接线,GND共地。目标机插入后,在设备管理器中刷新识别出的COM号,记下编号(如COM4)。这一步不能靠“插上去就自动COM1”幻想——Windows分配COM号完全看USB控制器枚举顺序,热插拔可能变号,【务必以设备管理器实际显示为准】。
执行串口启用命令:bcdedit /debug on → bcdedit /dbgsettings serial debugport:COM1 baudrate:115200。注意:baudrate必须与Windbg客户端设置严格一致,差一个零都会导致“无法同步波特率”错误。
网络调试:自动配置KDNET工具链
第一步:在主机(运行Windbg的电脑)上打开管理员权限PowerShell,执行ipconfig,找到有线网卡IPv4地址,例如192.168.1.100。
通过 SSH 隧道从 Android 设备在互联网上对 Windows PC 实现完整远程控制的设置与使用指南,适用于远程桌面访问、安全 RDP 等。
第二步:将主机上的kdnet.exe和VerifiedNICList.xml复制到目标机C:KDNET目录下。这两个文件通常位于C:Program Files (x86)Windows KitsDebuggersd。
第三步:在目标机以管理员身份运行cmd,进入C:KDNET,执行:kdnet.exe 192.168.1.100 50045。成功时会输出类似Key:1.2.3.4的一行密钥,并自动执行bcdedit /debug on和bcdedit /dbgsettings net ...。
⚠️ 这一步失败常见原因:目标机启用了BitLocker或Secure Boot——kdnet.exe会直接报错“Access is denied”,必须先进BIOS关Secure Boot,再在系统中暂停BitLocker保护(manage-bde -protectors -disable C:)。
第四步:重启目标机。不要跳过重启——调试设置只在下次启动时生效,热加载不触发内核调试协议栈初始化。
Windbg客户端连接操作
方法一:图形界面连接(适合新手)
打开Windbg Preview(Microsoft Store安装版),点击File → Connect to Kernel Debugging → 选NET选项卡 → 填入目标机配置的Port和Key(如50045 + 1.2.3.4)→ 点OK。若弹出“无法建立连接”,立刻检查目标机是否已重启、bcdedit /dbgsettings是否输出含“net”的配置行。
方法二:命令行强制连接(绕过UI缓存问题)
在主机CMD中执行:"C:Program FilesWindows KitsDebuggersdwindbg.exe" -k net:port=50045,key=1.2.3.4。路径必须完整,引号不能省——路径含空格时缺引号会导致“系统找不到指定文件”错误。
连接成功后,Windbg底部状态栏显示“Connected to Windows 10 22H2 x64”,命令窗口出现kd>提示符,此时按Ctrl+Break可中断目标机内核,开始下断点、查内存、分析蓝屏转储。

















