Debugging Tools for Windows |
.endsrv 命令使得调试器取消一个活动的调试服务器。
只有当进行通过调试器的远程调试时才能使用该命令。
模式 | 仅用户模式 |
目标 | 活动目标、崩溃转储 |
平台 | 所有 |
必须从调试服务器或者某个连接到调试服务器上的调试客户端上执行.endsrv 命令。
要查看调试服务器的ID,使用.servers (List Debugging Servers) 命令。
.endsrv 命令用于结束调试服务器,但是通常它不能用来结束进程服务器或KD连接服务器。关于如何结束这些服务器的信息,查看控制进程服务器会话和控制KD连接服务器会话。(但是,通过编程启动的进程服务器在一个特殊情况下可以被.endsrv结束,详细信息查看IDebugClient::StartProcessServer.)
如果取消一个调试服务器,就可以避免之后再有调试客户端附加到它上面。但是,取消调试服务器并不能让任何当前已附加到服务器上的客户端退出。
考虑到以下的情况,假设使用了下面例子的方法来启动调试服务器。
Server started with 'npipe:pipe=rabbit'
0:000> .server tcp:port=7
Server started with 'tcp:port=7'
之后又决定像下面一样使用密码。
Server started with 'npipe:pipe=tiger,password=hardtoguess'
但是先前的服务器仍然在运行,所以需要像下面一样关闭他们。
0 - Debugger Server - npipe:Pipe=rabbit
1 - Debugger Server - tcp:Port=7
2 - Debugger Server - npipe:Pipe=tiger,Password=*
0:000> .endsrv 0
Server told to exit. Actual exit may be delayed until
the next connection attempt.
0:000> .endsrv 1
Server told to exit. Actual exit may be delayed until
the next connection attempt.
0:000> .servers
0 - <Disabled, exit pending>
1 - <Disabled, exit pending>
2 - Debugger Server - npipe:Pipe=tiger,Password=*
最后,要使用.clients (List Debugging Clients)命令确认没有人再通过先前激活的服务器附加到计算机上。
HotMachine\HostUser, last active Mon Mar 04 16:05:21 2002
警告 通过TCP、BPIPE或COM协议使用密码只能提供有限的保护,因为密码是没有加密的。通过SSL或SPIPE协议使用密码时,密码是加密的。如果需要安全的远程会话,必须使用SSL或SPIPE协议。
关于远程调试的更多信息,查看通过调试器进行的远程调试。