Debugging Tools for Windows

用于启用调试的引导参数

当内核调试连接建立起来之后,系统给予内核调试器自己执行的控制权。同样,当发生bug check或者内核模式程序和调试器进行通信的时候,计算机在继续执行之前都要等待内核调试器的相应。

有四种可以通过引导参数来配置的基本的调试方法:

Windows Vista之前的系统中用于本地调试的引导参数

要在单台机器上启用内核调试,需要在引导入口添加/debug参数。不要在引导入口中添加任何其它调试相关的参数。

下面的示例Boot.ini文件中的第一条引导入口包含/debug 参数。

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Local Debugging" /fastdetect /debug
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect

下面的Bootcfg命令启用本地调试。Bootcfg的/debug 开关和ON 值一起使用,会在引导入口中添加/debug 参数。/ID 开关指定引导入口。

bootcfg /debug ON /ID 1

下面是一个使用Boot.ini文件的系统上的Bootcfg显示结果。第一个引导入口被配置为使用本地调试。

Boot Entries
------------
Boot entry ID:    1
OS Friendly Name: Windows XP Local Debugging
Path:             multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
OS Load Options:  /fastdetect /debug

Boot entry ID:    2
OS Friendly Name: Microsoft Windows XP
Path:             multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
OS Load Options:  /fastdetect

Windows Vista中本地调试的引导配置

使用BCDEdit /debug 调试选项来启用单机内核调试

使用BCDEdit,要使用提升的权限打开一个命令行窗口(右键点击命令提示符并在快捷菜单中点击用管理员方式启动)。

/debug 选项的语法如下:

bcdedit /debug [{ID}] { on | off }

{ID}是引导入口被指派的GUID。如果{ID}没有指定,则修改当前的引导入口。下面的命令启用当前系统的引导入口的内核调试:

bcdedit /debug on

下面的命令启用指定的引导入口的系统地内核调试:

bcdedit /debug  {18b123cd-2bf6-11db-bfae-00e018e2b8db} on

可以使用bcdedit /enum 命令来查看当前所有引导入口、他们的设置和分配的GUID。

在Windows Vista之前的系统中用于配置Null-modem电缆调试的引导参数

要启用null-modem 电缆调试,需要在引导入口中添加/debug参数和/debugport /baudrate 子参数。

下面Boot.ini文件中的第一个引导入口配置为使用null modem电缆调试。

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Debugging with Cable" /fastdetect /debug /debugport=COM1 /baudrate=57600
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect

设置/debugport 子参数的值为机器上某一个COM端口。/baudrate 子参数的值为电缆的连接速度。(默认值为19200 bps)。

下面的Bootcfg命令启用第一个引导入口的调试。设置调试端口为COM1,波特率为57600 bps。

Bootcfg的/debug 开关和ON 值在引导入口中添加/debug 参数。Bootcfg 的/port 开关添加/debugport 子参数和值COM1。/baud 开关添加/baudrate 子参数和值57600。/ID 开关指定引导入口。

bootcfg /debug ON /port COM1 /baud 57600 /ID 1

下面的Bootcfg示例显示了一个基于Itanium系统的引导入口结果。新添加的参数在下面以粗体标识。


Boot Entries
------------
Boot entry ID:    1
OS Friendly Name: Windows Server 2003, Enterprise
OsLoadOptions:     /debug /debugport=COM1 /baudrate=57600
BootFilePath:     \Device\HarddiskVolume1\EFI\Microsoft\WINNT50\ia64ldr.efi
OsFilePath:       \Device\HarddiskVolume3\WINDOWS

Windows Vista使用Null-modem电缆的引导选项

在Windows Vista中,调试设置可以配置为全局或者针对单个引导入口。默认的全局调试设置是串口通信的,使用COM1,波特率为115200。

要显示当前设置,使用下面的命令:

bcdedit /dbgsettings

debugtype               Serial
debugport               1
baudrate                115200

使用BCDEdit,要使用提升的权限打开一个命令行窗口(右键点击命令提示符并在快捷菜单中点击用管理员方式启动)。

使用如下语法来将全局调试设置修改为串口通信:

bcdedit /dbgsettings serial [DEBUGPORT:port] [BAUDRATE:baud

下面的是将全局调试设置指定为串口通信的示例:

bcdedit /dbgsettings serial debugport:1 baudrate:115200

使用下面的语法来设置指定引导入口或当前入口的调试设置:

bcdedit /set [{ID}] [ debugtype serial | [DEBUGPORT port] | [BAUDRATE baud] ]

如果没有指定{ID},则修改当前激活的引导入口。

下面的例子表明了如何为特定引导入口指定串口调试设置。

bcdedit /set {18b123cd-2bf6-11db-bfae-00e018e2b8db} debugtype serial

bcdedit /set {18b123cd-2bf6-11db-bfae-00e018e2b8db} debugport 1

bcdedit /set {18b123cd-2bf6-11db-bfae-00e018e2b8db} baudrate 115200

可以使用bcdedit /enum命令查看当前的所有引导入口和他们的设置。

在Windows Vista之前的系统中用于1394电缆调试的引导参数

如果主控机和目标机都运行Windows XP或之后地系统,就可以用IEEE 1394(火线)电缆进行内核调试。

要启用IEEE 1394电缆调试,要在引导入口中添加/debug参数和/debugport/channel 子参数。将/debugport 子参数设置为1394,将/channel 设置为传输使用的频道。

下面的示例Boot.ini文件中第一个引导入口配置为使用1394电缆调试。

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Debugging with 1394" /fastdetect /debug /debugport=1394 /channel=44
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect

下面的Bootcfg命令启用1394电缆调试,并将调试频道设置为44。/dbg1394 开关和值ON 在引导入口中添加/debug /debugport=1394子参数,/ch 开关添加/channel 子参数。/id 开关指定第二个引导入口。

bootcfg /dbg1394 ON /ch 44 /id 2

下面的Bootcfg输出显示了该命令在Boot.ini文件的系统上的结果。新添加的参数在下面用粗体标识。这台机器现在有不启用调试和启用1394电缆调试的两种引导选项。不启用调试的一个是默认。

Boot Entries
------------
Boot entry ID:   1
Friendly Name:   "Microsoft Windows XP Professional"
Path:            multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
OS Load Options: /fastdetect

Boot entry ID:   2
Friendly Name:   "1394 Debug Windows XP"
Path:            multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
OS Load Options: /fastdetect /debug /debugport=1394 /channel=44

注意 在使用1394电缆进行内核调试之前,还要在目标机和主控机上进行额外的软件配置。查看禁用1394控制器安装1394虚拟驱动获取详细信息。

Windows Vista 中的1394电缆调试引导参数

在Windows Vista中启用IEEE 1394调试,使用BCDEdit并将debugtype 参数设置为1394。可以使用/dgbsettings 选项来进行全局调试设置,或者用/set 来设置指定引导入口。

使用BCDEdit,要使用提升的权限打开一个命令行窗口(右键点击命令提示符并在快捷菜单中点击用管理员方式启动)。

使用下面语法将全局设置改为1394:

bcdedit /dbgsettings 1394 [channel:channel

下例将全局调试设置指定为使用1394:

bcdedit /dbgsettings 1394 channel:32 

使用下面语法为指定的引导入口或当前入口进行调试设置:

bcdedit /set [{ID}] [ debugtype 1394 | channel channel 

如果{ID} 未指定,则应用到当前入口。

下面的例子说明了如何为指定的引导入口设置1394调试,以及如何用/debug 选项为制定引导入口启用内核调试。

bcdedit /set {18b123cd-2bf6-11db-bfae-00e018e2b8db} debugtype 1394

bcdedit /set {18b123cd-2bf6-11db-bfae-00e018e2b8db} channel 32

bcdedit /debug {18b123cd-2bf6-11db-bfae-00e018e2b8db} on

可以使用bcdedit /enum 命令查看当前的所有引导入口和他们的设置。

在Windows Vista之前的系统中的USB 2.0调试引导参数

要启用USB 2.0电缆调试,需要在引导入口添加/debug参数和/debugport/targetname 子参数。将/debugport 的值设置为usb/targetname 的值设置为任意字符串。该字符串用于指定内核调试器连接。

注意 进行USB 2.0电缆调试之前,需要进行额外配置。查看设置USB 2.0 调试电缆连接获取详细信息

Windows Vista上的USB 2.0调试引导参数

如果目标机运行Windows Vista,并且主控机运行Windows 2000和之后的系统,就可以使用USB 2.0调试电缆进行内核调试。

要在Windows Vista上启用USB电缆调试,使用BCDEdit并将debugtype 参数设置为USB。可以使用/dgbsettings 设置全局调试设置,或用BCDEdit /set选项设置单个引导入口。

使用BCDEdit,要使用提升的权限打开一个命令行窗口(右键点击命令提示符并在快捷菜单中点击用管理员方式启动)。

使用下面语法将全局调试设置修改为使用USB:

bcdedit /dbgsettings usb [targetname:targetname

下例将全局调试设置指定为USB。

bcdedit /dbgsettings usb targetname:U1

用如下语法为单个引导入口进行设置:

bcdedit /set [{ID}] [ debugtype usb | targetname targetname ]

如果没有指定{ID},则应用到当前入口。

下例说明了如何为单个引导入口指定USB调试设置,以及如何用/debug 命令为它启用内核调试。

bcdedit /set {18b123cd-2bf6-11db-bfae-00e018e2b8db} debugtype usb

bcdedit /set {18b123cd-2bf6-11db-bfae-00e018e2b8db} targetname u2

bcdedit /debug {18b123cd-2bf6-11db-bfae-00e018e2b8db} on

可以使用bcdedit /enum 命令查看当前的所有引导入口和他们的设置。

Build machine: CAPEBUILD