プロセス サーバーの例Process Server Examples

たとえば、あるユーザーが BOX17 という名前のコンピューターでアプリケーションを実行していると \ \ します。Suppose one person is running an application on a computer named \\BOX17. このアプリケーションには問題がありますが、デバッグ技術者は別のサイトにあります。This application has problems, but the debugging technician is at a different site.

最初のユーザーは、BOX17 で DbgSrv を使用してプロセスサーバーを設定し \ \ ます。The first person sets up a process server using DbgSrv on \\BOX17. ターゲットアプリケーションのプロセス ID は122です。The target application has a process ID of 122. TCP プロトコルが選択されており、ソケットポート番号は1025です。TCP protocol is chosen, with a socket port number of 1025. サーバーは、次のコマンドを使用して起動されます。The server is started with the following command:

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

他のコンピューターでは、次のコマンドを使用して、テクニシャンがスマートクライアントとして WinDbg を起動します。On the other computer, the technician starts WinDbg as a smart client with this command:

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

別の例を示します。Here is another example. この場合、NPIPE プロトコルが選択され、WinDbg ではなく CDB が使用されます。In this case, NPIPE protocol is chosen, and CDB is used instead of WinDbg. 最初のユーザーは、パイプ名を選択します。The first user chooses a pipe name. これには、任意の英数字の文字列 (この例では "その他のパイプ") を指定できます。This can be any alphanumeric string -- in this example, "AnotherPipe". 最初のユーザーは、管理者特権でのコマンドプロンプトウィンドウ ([管理者として実行]) を開き、次のコマンドを入力してデバッグサーバーを起動します。The first user opens an elevated Command Prompt window (Run as Administrator) and starts a debugging server by entering this command:

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

技術者は、サーバーコンピューターへのアクセス権を持たないアカウントでクライアントコンピューターにログオンしています。The technician is logged on to the client computer with an account that does not have access to the server computer. しかし、この技術者は、サーバーコンピューターへのアクセス権を持つアカウントのユーザー名とパスワードを知っています。But the technician knows the username and password for an account that does have access to the server computer. そのアカウントのユーザー名は Contoso です。The username for that account is Contoso. 技術者は次のコマンドを入力します。The technician enters the following command:

net use \\BOX17\ipc$ /user:Contoso

メッセージが表示されたら、技術者は Contoso アカウントのパスワードを入力します。When prompted, the technician enters the password for the Contoso account.

技術者は名前付きパイプに使用された名前を確認できないので、プロセスサーバーの BOX17 をクエリします。The technician is not sure what name was used for the named pipe, so they query BOX17 for process servers:

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

2つのパイプが表示されます。Two pipes are shown. ただし、プロセスサーバーは1つだけであり、もう一方はデバッグサーバーです。これについては説明しません。However, only one is a process server -- the other is a debugging server, and we are not interested in that. そのため、他の パイプ は正しい名前である必要があります。So AnotherPipe must be the correct name. 技術者は次のコマンドを入力して、スマートクライアントを起動します。The technician enters the following command to start the smart client:

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

プロセスサーバーを使用したより複雑な例については、「 中間のシンボル」を参照してください。For a more complicated example using a process server, see Symbols in the Middle.