.server (Create Debugging Server)
.server 命令启动一个调试服务器,允许远程连接到当前的调试会话上。
语法
.server npipe:pipe=PipeName[,hidden][,password=Password][,IcfEnable]
.server tcp:port=Socket[,hidden][,password=Password][,ipversion=6][,IcfEnable]
.server tcp:port=Socket,clicon=Client[,password=Password][,ipversion=6]
.server com:port=COMPort,baud=BaudRate,channel=COMChannel[,hidden][,password=Password]
.server spipe:proto=Protocol,{certuser=Cert|machuser=Cert},pipe=PipeName[,hidden][,password=Password]
.server ssl:proto=Protocol,{certuser=Cert|machuser=Cert},port=Socket[,hidden][,password=Password]
.server ssl:proto=Protocol,{certuser=Cert|machuser=Cert},port=Socket,clicon=Client[,password=Password]
参数
- PipeName
- 使用NPIPE 或SPIPE 协议时,PipeName
是用来作为管道名的字符串。每个管道名都应该标识一个唯一的调试服务器。如果尝试重复使用管道名,会收到一条错误信息。PipeName
不能包含空格或引号。可以包含数字的printf 形式格式化字符,如%x 或%d。调试器用自己的进程ID来替换它,第二个格式化字符用调试器的线程ID来替换。
- Socket
- 使用TCP 或SSL 协议时,Socket
是套接字端口号。
- 也可以指定通过冒号来分隔的端口范围 。调试器会检查范围内的每个端口是否空闲。如果找到了一个空闲端口并且没有发现错误,则创建调试服务器。调试客户端必须指定实际使用到的端口来连接服务器。可以使用搜索调试服务器中描述的任一种方法来或者这个端口号,显示调试服务器时,会在后面以冒号分隔的两个数字的形式显示端口号。第一个数字是实际使用的端口;第二个可以忽略掉。例如,如果使用port=51:60来指定端口,并且实际使用的是端口53,那么搜索结果中会显示为"port=53:60"。(如果使用clicon
参数来启用反向连接,调试客户端也可以使用相同办法指定端口范围,而服务器指定实际使用的端口。)
- clicon=Client
- 使用TCP 或SSL协议并指定clicon参数时,会打开一个反向连接。这意味着调试服务器会尝试连接调试客户端,而不是由客户端来发起连接。这在防火墙阻挡了某方向的连接时有用。Client
指定调试客户端存在的或者即将创建的机器的网络名。开头的两个反斜线(\\) 可选。
注意 使用clicon时,最好在调试服务器创建之前就启动调试客户端,虽然正常的顺序(服务器在客户端之前)也是可以的。反向连接服务器在另一个调试器显示所有活动服务器时不会被显示出来。
- COMPort
- 使用COM协议时,COMPort 指定要使用的COM端口。前缀COM是可选的 (例如,使用 "com2" 和"2" 都可以)。
- BaudRate
- 使用COM协议时,BaudRate 指定连接使用的波特率。只要硬件上支持的波特率都可以使用。
- COMChannel
- 如果使用COM 协议,COMChannel
指定用来和调试客户端通信的COM频道(channel)。可以是0到254之间的任何值,包含0和254。
- Protocol
- 使用SSL 或SPIPE协议时,Protocol
指定安全频道(S-Channel)协议。可以是字符串tls1、pct1、ssl2或者ssl3。
- Cert
- 使用SSL 或SPIPE协议时,Cert
指定证书。这可以是证书名也可以是证书的签名(thumbprint) (由证书管理机构提供的16进制数字的字符串)。如果使用了certuser=Cert
语法,调试器会在系统保存的证书(默认存储)中查找。如果使用machuser=Cert,调试器会在机器存储中查找证书。指定的证书必须支持服务器验证。
- hidden
- 阻止该服务器在其他调试器显示活动服务器时被显示出来。
- password=Password
- 要求客户端在连接到调试会话时提供密码。Password 可以是任意由字母数字组成的字符串。
- ipversion=6
- (Debugging Tools for Windows 6.6.07和更早的版本)
强制调试器连接到Internet时使用IP v6而不是IP v4。在Windows Vista和之后的版本中,调试器会尝试默认使用IP
v6,所以没有必要指定该选项。
- IcfEnable
- (仅Windows XP和之后的版本)
使得当Internet连接防火墙打开时,调试器启用TCP或命名管道连接需要使用到的端口。默认情况下,Internet连接防火墙会禁止这些协议使用的端口。IcfEnable和TCP连接一起使用时,调试器会让Windows打开Socket参数指定的端口。IcfEnable
和命名管道连接一起使用时,调试器会让Windows打开命名管道使用到的端口(139和445端口)。连接终止后,调试器不会关闭这些端口。
环境
模式 |
用户模式、内核模式 |
目标 |
活动目标、崩溃转储 |
平台 |
所有 |
注释
该命令将当前调试器转换成调试服务器。这使得可以在调试器已经运行之后启动服务器,而-server
命令行选项只能在调试器启动时指定。
这样可以让调试客户端连接到当前调试会话上。注意,可以使用不同的选项启动多个服务器,允许不同种类的调试客户端参与到会话中。
附加信息
关于如何启动调试服务器的完整细节,查看激活调试服务器。示例可以查看客户端和服务器示例。
Build machine: CAPEBUILD