Debugging Tools for Windows

通过1394电缆连接调试Hyper-V

要通过1394电缆连接调试根分区或Windows hypervisor,可以使用下面的步骤。

  1. 确认已经在主控机上安装了适当的Windows调试工具的版本。如果不确定所使用的版本,查看选择32位或64位调试器包
  2. 在目标机上,使用BCDEdit工具来配置需要的调试选项。如果想调试根分区,可以使用如下命令:

    bcdedit /set dbgtransport kd1394.dll 
    bcdedit /dbgsettings 1394 CHANNEL:ChannelNumber 
    bcdedit /debug on 

    如果要调试Windows hypervisor,使用如下命令

    bcdedit /hypervisorsettings 1394 CHANNEL:ChannelNumber 
    bcdedit /set hypervisordebug on 
    bcdedit /set hypervisorlaunchtype auto 

    这两个命令中,ChannelNumber是要使用的1394信道号。关于BCDEdit使用的细节,参见编辑引导选项

    如果想同时调试根分区和Windows hypervisor,可以同时使用上面的两个BCDEdit命令集合,但是分别使用不同的1394信道号。

    执行完BCDEdit命令后重起目标机。

  3. 通过1394端口连接主控机和目标机(原文这里有误,该死的Ctrl+C,Ctrl+V,哈哈——译者)。这和标准的内核调试相同;详细信息查看设置1394电缆连接
  4. 实际的调试会话通过使用远程工具(Remote.exe)启动KD来开始。用下面的命令来开始调试:

    remote.exe /s "DbgPath\kd –k 1394:ChannelNumber -y SymPathRemoteID 

    命令中,ChannelNumber是在BCDEdit命令中使用的1394信道号。要调试根分区,就是用指派给它的信道号;对Windows hypervisor也使用相应的信道。RemoteID指定远程工具需要使用的标识字符串(例如HyperV_ROOTHyperV_HV这样的)。DbgPath是Windows调试工具包的安装目录,SymPath是符号路径。也可以包含KD选项。如果从另一台计算机远程连接到KD上(使用WinDbg或者KD的第二个实例),可以在-server之后再接传输选项。-server必须作为第一个参数使用。

    例如,可以用下面这样的命令来调试根分区:

    remote.exe /s "\debuggers\kd –k 1394:50 -y srv*c:\localstore*http://msdl.microsoft.com/download/symbols" HyperV_ROOT 

这时,已经可以正常调试目标机了。可用命令的参考,查看调试器操作调试器操作(内核模式)

Build machine: CAPEBUILD