使用 KDNET 设置虚拟机的网络调试 |
您所在的位置:网站首页 › 电脑网络调试 › 使用 KDNET 设置虚拟机的网络调试 |
设置虚拟机的网络调试 - KDNET
项目
03/08/2023
本主题介绍如何配置与 Hyper-V 虚拟机的内核调试连接, (VM) 。 Hyper-V 虚拟机设置若要调试第 2 代 Hyper-V 虚拟机 (VM) 请完成以下步骤。 1.创建安装了 Windows 的 VM 有关如何创建 VM 的信息,请参阅 使用 Hyper-V 创建虚拟机。 2.定义外部虚拟交换机 若要与 VM 通信,可以使用虚拟外部网络交换机。 有关如何创建外部网络交换机的信息,请参阅 创建虚拟网络。 配置外部网络交换机时,必须设置以下选项。 选项 值 连接类型 外部网络 允许管理操作系统共享此网络适配器 已启用 VLAN ID 已禁用3. 禁用安全启动 若要允许 kdnet 实用工具更新 BCDEdit 启动设置,请按照以下步骤暂时禁用虚拟机上的安全启动。 加载 Hyper-V 管理器并选择 VM 的属性。 选择 “安全 设置”。 取消检查“启用安全启动”复选框。 选择“确定”以保存设置。 完成调试并在目标 VM 上禁用内核调试后,可以重新启用安全启动。 4.安装适用于 Windows 的调试工具 调试工具用于调试器和 kdnet 实用工具,必须安装。 有关如何下载和安装调试工具的信息,请参阅 Windows 调试工具。 设置虚拟机的网络调试 - KDNET 记录主机 IP 地址若要在目标虚拟机所在的同一台电脑上运行主机调试器,请执行以下步骤。 在主机 OS 中,打开命令提示符窗口并输入 IPConfig 以显示 IP 配置。 在命令输出中,找到配置为外部虚拟交换机的以太网适配器。 ... Ethernet adapter vEthernet (External Virtual Switch): ... IPv4 Address. . . . . . . . . . . : ...提示 可能有多个名称相似的适配器条目。 请确保找到创建的虚拟交换机。 记录外部虚拟交换机的 IPv4 地址,该地址将用作用于调试的主机地址。 若要确认目标计算机与主计算机之间的连接,请在目标计算机上打开提升的命令提示符窗口,然后输入以下命令,其中 YourHostIPAddress 是主计算机的 IP 地址。 ping -4 设置 VM 目标计算机使用 kdnet.exe 实用工具通过执行以下步骤在目标电脑上自动配置调试器设置。 找到 WDK kdnet.exe 和 VerifiedNICList.xml 文件。 默认情况下,它们位于此处。 C:\Program Files (x86)\Windows Kits\10\Debuggers\x64注意 这些说明假定两台电脑都在目标和主机上运行 64 位版本的 Windows。 如果不是这种情况,最佳方法是在运行目标的主机上运行相同的工具“位数”。 例如,如果目标运行的是 32 位 Windows,请在主机上运行 32 版本的调试器。 有关详细信息,请参阅 选择 32 位或 64 位调试工具。 若要允许用于剪切和粘贴的长密钥,请启用增强的会话支持。 在 VM 窗口中的“ 视图 ”下拉菜单中,启用 “增强会话”。 在目标 VM 计算机上,创建一个 C:\KDNET 目录,并将 kdnet.exe 和 VerifiedNICList.xml 文件复制到该目录。 在目标计算机上,以管理员身份打开“命令提示符”窗口。 输入此命令以验证目标计算机是否具有受支持的网络适配器。 C:\KDNET>kdnet Network debugging is supported on the following NICs: busparams=0.25.0, Intel(R) 82579LM Gigabit Network Connection, KDNET is running on this NIC.kdnet.exe键入此命令以设置主机系统的 IP 地址并生成唯一的连接密钥。 使用前面记录的主机系统的 IP 地址。 为使用的每个目标/主机对选择唯一的端口地址,其范围为 50000-50039。 对于此示例,我们将选择 50005。 C:\>kdnet Enabling network debugging on Microsoft Hypervisor Virtual Machine. Key=3u8smyv477z20.2owh9gl90gbxx.3sfsihzgq7di4.nh8ugnmzb4l7 To debug this vm, run the following command on your debugger host machine. windbg -k net:port=50005,key=3u8smyv477z20.2owh9gl90gbxx.3sfsihzgq7di4.nh8ugnmzb4l7 Then restart this VM by running shutdown -r -t 0 from this command prompt.使用 CRTL+C 将提供的 windbg 输出复制到命令缓冲区中。 这样做可避免尝试记下返回的长键值。 配置完调试器设置后,重新启用 BitLocker 和安全启动。 由于具有增强会话支持的 VM 在中断点中时可能会超时,因此请使用 VM 中的“视图”下拉菜单禁用增强会话支持。 加载并运行调试器后,VM 将重启。 下一步将介绍此过程。 启动调试会话若要连接到目标电脑,请使用 CTRL+V 在main OS 命令窗口中粘贴之前复制的 kdnet 返回的 windbg 字符串。 C:\Debuggers\windbg -k net:port=,key=首次尝试建立网络调试连接时,系统可能会提示你允许调试应用程序 (WinDbg 或 KD) 通过防火墙进行访问。 应通过选中 所有三 种网络类型的框来响应提示:域、专用和公用。 重启目标电脑连接调试器后,重新启动目标计算机。 若要强制 VM 完全重启,请在管理员的命令提示符下使用此命令。 shutdown -r -t 0重新启动目标虚拟机时,主机 OS 中的调试器应连接。 连接到 VM 后,在调试器上命中断,可以开始调试。 为了支持调试连接,在 VM 重新启动后,将添加内核调试网络适配器,并在网络属性中可见。 KDNET 虚拟机网络调试疑难解答如果调试器未连接,请使用目标 VM 中的 ping 命令验证连接。 C:\>Ping有些事情不正常,我不确定... 确保已让 WinDbg 通过防火墙。 确认使用的是由 BCDEdit 或 kdnet 生成的唯一密钥。我的 VM 没有网络连接 从 Hyper-V 管理器打开虚拟交换机管理器,选择现有的虚拟交换机,然后从下拉框中选择外部网络 NIC,然后在“虚拟交换机管理器”对话框中选择“确定”,将外部网络 NIC 更改为 Microsoft 内核调试网络适配器。 更新虚拟交换机 NIC 后,请确保随后关闭并重启 VM。 将 Hyper-V 角色添加到 Windows 电脑的顺序如果目标计算机是虚拟机主机,则可以设置网络调试,并且仍对虚拟机具有网络访问权限。 假设要在以下情况下设置网络调试。 目标计算机具有单个网络接口卡。 你打算在目标计算机上安装 Hyper-V 角色。 你打算在目标计算机上创建一个或多个虚拟机。最佳方法是在安装 Hyper-V 角色之前在目标计算机上设置网络调试。 然后,虚拟机将有权访问网络。 如果在目标计算机上安装 Hyper-V 角色后决定设置网络调试,则必须更改虚拟机的网络设置,以将其桥接到 Microsoft 内核网络调试适配器。 否则,虚拟机将无法访问网络。 另请参阅使用虚拟 COM 端口手动设置Kernel-Mode调试虚拟机 手动设置网络连接 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |