Debugging Tools for Windows

进程服务器示例

假设一个人在一台名为\\BOX17的计算机上运行一个应用程序。该程序有一些问题,但是调试技术人员在其他地方。

第一个人使用DbgSrv在\\BOX17上设置进程服务器。目标应用程序的进程ID为122。使用TCP协议,套接字段口号为1025。用如下命令启动服务器:

E:\Debugging Tools for Windows> dbgsrv -t tcp:port=1025 

在另一台计算机上,技术人员决定使用WinDbg作为灵巧客户端。它可以用如下命令启动:

G:\Debugging Tools> windbg -premote tcp:server=BOX17,port=1025 -p 122 

这里有另一个例子。该例子中使用NPIPE,调试器使用CDB而不是WinDbg。第一个用户选择一个管道名。它可以是任何字母或数字 — 这个例子中为" AnotherPipe"。使用如下命令启动调试服务器:

E:\Debugging Tools for Windows> dbgsrv -t npipe:pipe=AnotherPipe 

技术人员不确定使用了什么名字,所以他/她在网络上查询管道名:

G:\Debugging Tools> cdb -QR \\BOX17 
Servers on \\BOX17:
Debugger Server - npipe:Pipe=MainPipe
Remote Process Server - npipe:Pipe=AnotherPipe

显示了两个管道。但是,只有一个是进程服务器—另一个是调试服务器,所以不是需要的那个。所以AnotherPipe肯定是正确的名字。然后可以使用下面的命令来启动灵巧客户端:

G:\Debugging Tools> cdb -premote npipe:server=BOX17,pipe=AnotherPipe -v sol.exe 

关于使用进程服务器的更复杂的示例,查看居中的符号

Build machine: CAPEBUILD