クライアントとサーバーの例

ユーザーが、\\BOX17 という名前のコンピューターでアプリケーションを実行しているとします。 このアプリケーションには問題がありますが、デバッグ技術者は別のサイトにいます。

最初のユーザーは、\\BOX17 上で CDB を使ってデバッグ サーバーを設定します。 ターゲット アプリケーションのプロセス ID は 122 です。 TCP プロトコルが選択され、ソケット ポート番号は 1025 です。 このサーバーは、管理者特権のコマンド プロンプト ウィンドウ (管理者として実行) に次のコマンドを入力することで起動します。

E:\Debugging Tools for Windows> cdb -server tcp:port=1025 -p 122

もう一方のコンピューターでは、技術者はデバッグ クライアントとして WinDbg を使用することに決めます。 これは、次のコマンドで開始できます。

G:\Debugging Tools> windbg -remote tcp:server=BOX17,port=1025

別の例です。 この場合、NPIPE プロトコルが選択され、WinDbg の代わりに CDB が使用されます。 最初のユーザーがパイプ名を選択します。 これは任意の英数字文字列にできますが、この例では "MainPipe" にします。 最初のユーザーは、管理者特権のコマンド プロンプト ウィンドウ (管理者として実行) を開き、次のコマンドを入力してデバッグ サーバーを起動します。

E:\Debugging Tools for Windows> cdb -server npipe:pipe=MainPipe -v winmine.exe 

技術者は、サーバー コンピューターへのアクセス権がないアカウントを使用して、クライアント コンピューターにログオンします。 ただし、技術者は、サーバー コンピューターへのアクセス権があるアカウントのユーザー名とパスワードを知っています。 そのアカウントのユーザー名は Contoso です。 技術者は次のコマンドを入力します。

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

プロンプトが表示されたら、技術者は Contoso アカウントのパスワードを入力します。

技術者は、名前付きパイプに使用された名前を知らないため、使用可能なデバッグ サーバーを問い合わせるクエリを BOX17 に対して実行します。

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

2 つのパイプが表示されます。 ただし、デバッグ サーバーは 1 つだけです。もう 1 つはプロセス サーバーであり、そちらは関係ありません。 したがって、MainPipe が正しい名前であるはずです。 技術者は、次のコマンドを使用してデバッグ クライアントを起動します。

G:\Debugging Tools> cdb -remote npipe:server=BOX17,pipe=MyPipe 

セキュアなサーバーの使用

セキュアなサーバーの例を次に示します。 このサーバーは、TLS1 の Schannel プロトコルと Secure Sockets Layer を使用します。 デバッガーは、コンピューターのストア内で証明書を探します。 証明書は、16 進数の拇印によって指定されます。

D:\> cdb -server "ssl:proto=tls1,machuser=ab 38 f7 ae 13 20 ac da 05 14 65 60 30 83 7b 83 09 2c d2 34,port=1234" notepad.exe