激活调试客户端
激活调试服务器后,可以在另一台计算机上启动调试客户端并连接到调试会话。
可通过两种方法启动调试客户端:使用 -remote 命令行选项或使用 WinDbg 图形界面。
客户端的协议必须与服务器的协议匹配。 启动调试客户端的常规语法取决于所使用的协议。 存在以下选项:
建议的连接方法,并提供了一些额外的安全性
Debugger -remote spipe:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,pipe=PipeName[,password=Password]
Debugger -remote ssl:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,port=Socket[,password=Password]
Debugger -remote ssl:proto=Protocol,{certuser=Cert|machuser=Cert},clicon=Server,port=Socket[,password=Password]
不安全的连接方法
Debugger -remote npipe:server=Server,pipe=PipeName[,password=Password]
Debugger -remote tcp:server=Server,port=Socket[,password=Password][,ipversion=6]
Debugger -remote tcp:clicon=Server,port=Socket[,password=Password][,ipversion=6]
Debugger -remote com:port=COMPort,baud=BaudRate,channel=COMChannel[,password=Password]
若要使用图形界面连接到远程调试会话,WinDbg 必须处于休眠模式 -- 必须已启动且没有命令行参数,或者必须已结束以前的调试会话。 选择 文件 |连接到远程会话 菜单命令,或按 Ctrl+R 快捷键。 出现 连接到远程调试器会话 对话框时,在 连接字符串 文本框中输入以下字符串之一:
建议的连接方法,并提供了一些额外的安全性
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]
不安全的连接方法
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]
或者,可以使用“浏览”按钮查找活动调试服务器。
重要
使用远程调试时,有一些重要的安全注意事项。 有关详细信息,包括有关启用安全模式的信息,请参阅远程调试 期间
参数
上述命令中的参数具有以下可能的值:
调试器
这不必与调试客户端使用的调试器相同 -- WinDbg、KD 和 CDB 都可用于通过调试器进行远程调试。
服务器
这是在其中创建调试服务器的计算机的网络名称或 IP 地址。 两个初始反斜杠(\)在命令行上是可选的,但在 WinDbg 对话框中是不允许的。
pipe=PipeName
如果使用 NPIPE 或 SPIPE 协议,PipeName 是创建服务器时提供给管道的名称。
如果未使用有权访问服务器计算机的帐户登录到客户端计算机,则必须提供用户名和密码。 在客户端计算机上的命令提示符窗口中,输入以下命令。
net use \\Server\ipc$ /user:UserName
其中,服务器 是服务器计算机的名称,UserName 是有权访问服务器计算机的帐户的名称。
出现提示时,输入 UserName的密码。
此命令成功后,可以使用 -remote 命令行选项或使用 WinDbg 图形界面激活调试客户端。
注意 可能需要在服务器计算机上启用文件和打印机共享。 在控制面板中,导航到 网络和 Internet > 网络和共享中心> 高级共享设置。 选择 打开文件和打印机共享。
端口=套接字
如果使用 TCP 或 SSL 协议,套接字 与创建服务器时使用的套接字端口号相同。
clicon
指定调试服务器将尝试通过反向连接连接到客户端。 客户端必须使用 clicon,前提是服务器使用的是 clicon。 在大多数情况下,在使用反向连接时,调试客户端会在调试服务器之前启动。
port=COMPort
如果使用 COM 协议,COMPort 指定要使用的 COM 端口。 前缀“COM”是可选的 -- 例如,“com2”和“2”都是可接受的。
baud=BaudRate
如果使用 COM 协议,BaudRate 应与创建服务器时选择的波特率匹配。
channel=COMChannel
如果使用 COM 协议,COMChannel 应与创建服务器时选择的通道号匹配。
proto=协议
如果使用 SSL 或 SPIPE 协议,协议 应与创建服务器时使用的安全协议匹配。
证书
如果使用 SSL 或 SPIPE 协议,则应使用相同的 certuser=Cert 或 machuser=证书 参数,该参数是在创建服务器时使用的。
password=密码
如果在创建服务器时使用了密码,则必须提供 密码 才能创建调试客户端。 它必须与原始密码匹配。 密码区分大小写。 如果提供了错误的密码,错误消息将指定“错误0x80004005”。密码长度必须为 12 个字符或更少。
ipversion=6
(仅适用于 Windows 6.6.07 和更早版本的调试工具)使用 TCP 连接到 Internet 时,强制调试器使用 IP 版本 6 而不是版本 4。 在 Windows Vista 和更高版本中,调试器会尝试自动默认为 IP 版本 6,因此不需要此选项。
调试客户端不能使用用于启动新调试会话(如 -p)的命令行选项,而只能由服务器使用。 配置选项(如 -n)将从客户端或服务器工作。