Debugging Tools for Windows

激活灵巧客户端

一旦DbgSrv进程服务器被激活,就可以在另外一台计算机上启动一个灵巧客户端开始调试会话。

有两种不同的启动灵巧客户端的方法:使用-premote 命令行选项来启动CDB或WinDbg;或者使用WinDbg图形界面。

灵巧客户端使用的协议必须和进程服务器匹配。启动灵巧客户端的常规语法由使用的协议决定。有下面一些选择:

Debugger -premote npipe:server=Server,pipe=PipeName[,password=Password] [Options] 

Debugger -premote tcp:server=Server,port=Socket[,password=Password][,ipversion=6] [Options] 

Debugger -premote tcp:clicon=Server,port=Socket[,password=Password][,ipversion=6] [Options] 

Debugger -premote com:port=COMPort,baud=BaudRate,channel=COMChannel[,password=Password] [Options] 

Debugger -premote spipe:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,pipe=PipeName[,password=Password] [Options] 

Debugger -premote ssl:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,port=Socket[,password=Password] [Options] 

Debugger -premote ssl:proto=Protocol,{certuser=Cert|machuser=Cert},clicon=Server,port=Socket[,password=Password] [Options] 

要使用图形界面连接到进程服务器,WinDbg必须在静止模式下—它必须以没有命令行参数的形式启动,或必须中止已有的调试会话。选择File | Connect to Remote Stub菜单命令。当Connect to Remote Stub Server 对话框出现后,在Connection string 文本框中输入下面的字符串之一:

npipe:server=Server,pipe=PipeName[,password=Password

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 来定位激活的进程服务器。查看File | Connect to Remote Stub获取详细信息。

上面命令中的参数有下面一些可能的值:

Debugger
可以是CDB或WinDbg。
Server
这是创建进程服务器的计算机的网络名字或IP地址。两个反斜杠(\\) 在命令行中是可选的,但是在WinDbg对话框中不能使用。
pipe=PipeName
如果使用NPIPE或SPIPE,PipeName 是进程服务器创建时设定的管道名。
port=Socket
如果使用TCP或SSL协议,Socket 和进程服务器创建时指定的套接字端口号一样。
clicon
指定进程服务器将试图通过反向连接来连接到灵巧客户端。客户端当且仅当服务器也使用clicon时才能使用clicon。大多数情况下,使用反向连接时,灵巧客户端应比进程服务器启动。
port=COMPort
如果使用COM协议,COMPort 指定使用的COM端口。前缀"COM"是可选的 — 例如, "com2" 和"2"都可以使用。
baud=BaudRate
如果使用COM协议,BaudRate 必须和进程服务器创建时选择的波特率匹配。
channel=COMChannel
如果使用COM协议,COMChannel 必须和进程服务器创建时选择的频道号匹配。
proto=Protocol
如果使用SSL或SPIPE协议,Protocol 必须和进程服务器创建时选择的安全协议匹配。
Cert
如果使用SSL或SPIPE协议,必须和进程服务器创建时指定一样的certuser=Certmachuser=Cert 参数。
password=Password
如果进程服务器创建时使用了密码,创建灵巧客户端时必须使用Password 。它必须和原始密码匹配。密码是大小心敏感的。如果密码错误,会出现"Error 0x80004005." 错误。
ipversion=6

(仅Debugging Tools for Windows 6.6.07 和之前的版本) 强制调试器在使用TCP连接到Internet时使用IP v6而不是v4。在Windows Vista和之后的版本中,调试器尝试默认使用IP v6,所以不再需要该选项。

Options
任何其它命令行参数都可以放在这里。查看命令行选项获得完整列表。如果使用CDB,这里必须指定要调试的进程。如果使用WinDbg,可以在命令行或者通过图形界面指定要调试的进程。

由于进程服务器类似于灵巧客户端的网关一样工作,其他的选项和在同一台机器上调试用户模式程序时一样。 查看启动调试器获得操作规程。

如果在.attach (Attach to Process).create (Create Process)命令使用-premote选项,需要的参数和上面列出的相同。

Build machine: CAPEBUILD