手动设置通过 1394 线缆进行的内核模式调试

重要

1394 传输可用于 Windows 10 版本 1607 及更低版本。 它在 Windows 的更高版本中不可用。 应将项目转换为其他传输,例如使用以太网的 KDNET。 有关该传输的详细信息,请参阅自动设置 KDNET 网络内核调试

Windows 调试工具支持通过 1394 (Firewire) 电缆进行内核调试。 本主题介绍如何手动设置 1394 调试。

运行调试器的计算机称为 主计算机,正在调试的计算机称为 目标计算机。 主机和目标计算机必须各自具有 1394 适配器,并且必须运行 Windows XP 或更高版本。 主机和目标计算机不必运行相同版本的 Windows。

设置目标计算机

  1. 将 1394 电缆连接到选择在主机和目标计算机上调试的 1394 控制器。

重要

在使用 BCDEdit 更改启动信息之前,可能需要暂时挂起测试电脑上的 Windows 安全功能,例如 BitLocker 和安全启动。 在测试完成时重新启用这些安全功能,并在禁用安全功能时适当管理测试电脑。

  1. 在提升的命令提示符窗口中,输入以下命令,其中 n 是所选的通道编号(从 0 到 62):

    bcdedit /debug on

    bcdedit /dbgsettings 1394 channel:n

  2. 必须指定要用于调试的 1394 控制器的总线、设备和函数编号。 有关详细信息,请参阅 1394 调试的故障排除提示

  3. 暂时不要重新启动目标计算机。

首次启动调试会话

  1. 确定在主计算机上运行的 Windows (32 位或 64 位) 位。

  2. 在主计算机上,以管理员) 身份打开 WinDbg (版本,该版本与在主计算机上运行的 Windows 的位数相匹配。 例如,如果主计算机运行的是 64 位版本的 Windows,请以管理员身份打开 64 位版本的 WinDbg。

  3. 在“ 文件 ”菜单上,选择“ 内核调试”。 在“内核调试”对话框中,打开“ 1394 ”选项卡。输入频道编号,然后单击“ 确定”。

    此时,主机计算机上安装了 1394 调试驱动程序。 这就是为什么将 WinDbg 的位数与 Windows 的位数相匹配非常重要的原因。 安装 1394 调试驱动程序后,可以使用 32 位或 64 位版本的 WinDbg 进行后续调试会话。

  4. 重新启动目标计算机。

启动调试会话

使用 WinDbg

  • 在主计算机上,打开 WinDbg。 在“ 文件 ”菜单上,选择“ 内核调试”。 在“内核调试”对话框中,打开“ 1394 ”选项卡。输入频道编号,然后单击“ 确定”。

    还可以通过在命令提示符窗口中输入以下命令来启动 WinDbg 会话,其中 n 是通道号:

    windbg /k 1394:channel=n

使用 KD

  • 在主计算机上,打开命令提示符窗口并输入以下命令,其中 n 是通道号:

    kd /k 1394:channel=n

使用环境变量

在主计算机上,可以使用环境变量指定 1394 通道。 然后,无需在每次启动调试会话时指定通道。 若要使用环境变量指定 1394 通道,请打开命令提示符窗口并输入以下命令,其中 n 是通道编号:

  • set _NT_DEBUG_BUS=1394
  • set _NT_DEBUG_1394_CHANNEL=n

若要启动调试会话,请打开命令提示符窗口并输入以下命令之一:

  • Kd
  • windbg

其他信息

有关 bcdedit 命令和 boot.ini 文件的完整文档,请参阅 Windows 驱动程序工具包 (WDK) 文档中的用于驱动程序测试和调试的启动选项。

通过 1394 电缆进行调试的故障排除提示

大多数 1394 调试问题都是在主机或目标计算机中使用多个 1394 控制器引起的。 不支持在主计算机中使用多个 1394 控制器。 在主机上运行的 1394 调试驱动程序只能与注册表中枚举的第一个 1394 控制器通信。 如果主板中内置了 1394 控制器和单独的 1394 卡,请删除卡或在计算机的 BIOS 设置中禁用内置控制器。

目标计算机可以有多个 1394 控制器,但不建议这样做。 如果目标计算机在主板上具有 1394 控制器,请尽可能使用该控制器进行调试。 如果有额外的 1394 卡,则应删除卡并使用载入控制器。 另一种解决方案是在计算机的 BIOS 设置中禁用载入 1394 控制器。

如果决定在目标计算机上启用多个 1394 控制器,则必须指定总线参数,以便调试器知道要声明哪个控制器进行调试。 若要指定总线参数,请在目标计算机上打开设备管理器,并找到要用于调试的 1394 控制器。 打开控制器的属性页,记下总线编号、设备编号和函数编号。 在提升的命令提示符窗口中,输入以下命令,其中 bdf 是十进制格式的总线、设备和函数编号:

bcdedit -set “{dbgsettings}” busparamsb.d.f.

重新启动目标计算机。

另请参阅

手动设置内核模式调试

自动设置 KDNET 网络内核调试