Debugging Tools for Windows |
当内核调试连接建立起来之后,系统给予内核调试器自己执行的控制权。同样,当发生bug check或者内核模式程序和调试器进行通信的时候,计算机在继续执行之前都要等待内核调试器的相应。
有四种可以通过引导参数来配置的基本的调试方法:
要在单台机器上启用内核调试,需要在引导入口添加/debug参数。不要在引导入口中添加任何其它调试相关的参数。
下面的示例Boot.ini文件中的第一条引导入口包含/debug 参数。
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 开关指定引导入口。
下面是一个使用Boot.ini文件的系统上的Bootcfg显示结果。第一个引导入口被配置为使用本地调试。
------------
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
使用BCDEdit /debug 调试选项来启用单机内核调试
使用BCDEdit,要使用提升的权限打开一个命令行窗口(右键点击命令提示符并在快捷菜单中点击用管理员方式启动)。
/debug 选项的语法如下:
{ID}是引导入口被指派的GUID。如果{ID}没有指定,则修改当前的引导入口。下面的命令启用当前系统的引导入口的内核调试:
下面的命令启用指定的引导入口的系统地内核调试:
可以使用bcdedit /enum 命令来查看当前所有引导入口、他们的设置和分配的GUID。
要启用null-modem 电缆调试,需要在引导入口中添加/debug参数和/debugport 、 /baudrate 子参数。
下面Boot.ini文件中的第一个引导入口配置为使用null modem电缆调试。
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示例显示了一个基于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中,调试设置可以配置为全局或者针对单个引导入口。默认的全局调试设置是串口通信的,使用COM1,波特率为115200。
要显示当前设置,使用下面的命令:
debugtype Serial
debugport 1
baudrate 115200
使用BCDEdit,要使用提升的权限打开一个命令行窗口(右键点击命令提示符并在快捷菜单中点击用管理员方式启动)。
使用如下语法来将全局调试设置修改为串口通信:
下面的是将全局调试设置指定为串口通信的示例:
使用下面的语法来设置指定引导入口或当前入口的调试设置:
如果没有指定{ID},则修改当前激活的引导入口。
下面的例子表明了如何为特定引导入口指定串口调试设置。
可以使用bcdedit /enum命令查看当前的所有引导入口和他们的设置。
如果主控机和目标机都运行Windows XP或之后地系统,就可以用IEEE 1394(火线)电缆进行内核调试。
要启用IEEE 1394电缆调试,要在引导入口中添加/debug参数和/debugport 、/channel 子参数。将/debugport 子参数设置为1394,将/channel 设置为传输使用的频道。
下面的示例Boot.ini文件中第一个引导入口配置为使用1394电缆调试。
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输出显示了该命令在Boot.ini文件的系统上的结果。新添加的参数在下面用粗体标识。这台机器现在有不启用调试和启用1394电缆调试的两种引导选项。不启用调试的一个是默认。
------------
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中启用IEEE 1394调试,使用BCDEdit并将debugtype 参数设置为1394。可以使用/dgbsettings 选项来进行全局调试设置,或者用/set 来设置指定引导入口。
使用BCDEdit,要使用提升的权限打开一个命令行窗口(右键点击命令提示符并在快捷菜单中点击用管理员方式启动)。
使用下面语法将全局设置改为1394:
下例将全局调试设置指定为使用1394:
使用下面语法为指定的引导入口或当前入口进行调试设置:
如果{ID} 未指定,则应用到当前入口。
下面的例子说明了如何为指定的引导入口设置1394调试,以及如何用/debug 选项为制定引导入口启用内核调试。
可以使用bcdedit /enum 命令查看当前的所有引导入口和他们的设置。
要启用USB 2.0电缆调试,需要在引导入口添加/debug参数和/debugport、/targetname 子参数。将/debugport 的值设置为usb,/targetname 的值设置为任意字符串。该字符串用于指定内核调试器连接。
注意 进行USB 2.0电缆调试之前,需要进行额外配置。查看设置USB 2.0 调试电缆连接获取详细信息。
如果目标机运行Windows Vista,并且主控机运行Windows 2000和之后的系统,就可以使用USB 2.0调试电缆进行内核调试。
要在Windows Vista上启用USB电缆调试,使用BCDEdit并将debugtype 参数设置为USB。可以使用/dgbsettings 设置全局调试设置,或用BCDEdit /set选项设置单个引导入口。
使用BCDEdit,要使用提升的权限打开一个命令行窗口(右键点击命令提示符并在快捷菜单中点击用管理员方式启动)。
使用下面语法将全局调试设置修改为使用USB:
下例将全局调试设置指定为USB。
用如下语法为单个引导入口进行设置:
如果没有指定{ID},则应用到当前入口。
下例说明了如何为单个引导入口指定USB调试设置,以及如何用/debug 命令为它启用内核调试。
可以使用bcdedit /enum 命令查看当前的所有引导入口和他们的设置。