1 人のユーザーが \\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 の S チャネル プロトコルを持つセキュリティで保護されたソケットレイヤーを使用します。 デバッガーは、コンピューター ストア内の証明書を探します。 証明書は、その 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