Debugging Tools for Windows |
一旦KD连接服务器被激活,就可以在另外一台计算机上启动一个灵巧客户端开始调试会话。
有两种不同的启动灵巧客户端的方法:和内核协议kdsrv 一起启动KD或WinDbg,或者使用WinDbg图形界面。
需要指定KD连接服务器所使用的传输协议。也可以指定KD连接服务器和目标机实际的内核连接协议,或者使用默认值。
灵巧客户端使用的协议必须和进程服务器匹配。启动灵巧客户端的常规语法由使用的协议决定。有下面一些选择:
Debugger -k kdsrv:server=@{tcp:server=Server,port=Socket[,password=Password][,ipversion=6]},trans=@{ConnectType} [Options]
Debugger -k kdsrv:server=@{tcp:clicon=Server,port=Socket[,password=Password][,ipversion=6]},trans=@{ConnectType} [Options]
Debugger -k kdsrv:server=@{com:port=COMPort,baud=BaudRate,channel=COMChannel[,password=Password]},trans=@{ConnectType} [Options]
Debugger -k kdsrv:server=@{spipe:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,pipe=PipeName[,password=Password]},trans=@{ConnectType} [Options]
Debugger -k kdsrv:server=@{ssl:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,port=Socket[,password=Password]},trans=@{ConnectType} [Options]
Debugger -k kdsrv:server=@{ssl:proto=Protocol,{certuser=Cert|machuser=Cert},clicon=Server,port=Socket[,password=Password]},trans=@{ConnectType} [Options]
要使用图形界面连接到KD连接服务器,WinDbg必须在静止模式下 — 它必须以没有命令行参数的形式启动,或必须中止已有的调试会话。选择File | Connect to Remote Stub菜单命令。当Connect to Remote Stub Server 对话框出现后,在Connection string 文本框中输入下面的字符串之一:
tcp:server=Server,port=Socket[,password=Password][,ipversion=6]
tcp:clicon=Server,port=Socket[,password=Password][,ipversion=6]
com:port=COMPort,baud=BaudRate,channel=COMChannel[,password=Password]
spipe:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,pipe=PipeName[,password=Password]
ssl:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,port=Socket[,password=Password]
ssl:proto=Protocol,{certuser=Cert|machuser=Cert},clicon=Server,port=Socket[,password=Password]
另外,也可以使用Browse 来定位激活的KD连接服务器。查看File | Connect to Remote Stub获取详细信息。
上面命令中的参数有下面一些可能的值:
(仅Debugging Tools for Windows 6.6.07 和之前的版本) 强制调试器在使用TCP连接到Internet时使用IP v6而不是v4。在Windows Vista和之后的版本中,调试器尝试默认使用IP v6,所以不再需要该选项。
1394:channel=1394Channel[,symlink=1394Protocol]
usb2:targetname=String
com:pipe,port=\\VMHost\pipe\PipeName[,resets=0][,reconnect]
com:modem
关于这些协议的信息,查看选择内核调试设置。可以省略这些协议中任意一个参数——例如,可以设置 trans=@{com:} ——调试器会默认将这些值设置为KdSrv运行的计算机上的环境变量中指定的值。
由于KD连接服务器类似于灵巧客户端的网关一样工作,其他的选项和在KdSrv所运行的计算机上启动内核调试器所使用的一样。不同之处在于,任何指定路径或文件名的选项都应该使用灵巧客户端所在计算机上的路径。