リモート デバッグ セッションの制御
リモート セッションが開始されたら、デバッグ サーバーまたはデバッグ クライアントにコマンドを入力できます。 複数のクライアントがある場合は、いずれかのクライアントがコマンドを入力できます。 Enter キーを押すと、コマンドがデバッグ サーバーに送信され、実行されます。
1 人のユーザーがコマンドを入力するたびに、すべてのユーザーにコマンド自体とその出力が表示されます。 このコマンドがデバッグ クライアントから発行された場合、他のすべてのユーザーには、コマンドの前に ID が表示され、そのユーザーがコマンドを発行しました。 デバッグ サーバーから発行されたコマンドには、このプレフィックスがありません。
1 人のユーザーがコマンドを実行した後、KD または CDB 経由で接続されている他のユーザーには、新しいコマンド プロンプトは表示されません。 一方、WinDbg のユーザーは、デバッガー エンジンが実行されている場合でも、デバッガー コマンド ウィンドウの下部パネルに継続的にプロンプトが表示されます。 これらのどちらもアラームの原因であるべきではありません。任意のユーザーはいつでもコマンドを入力でき、エンジンは受信した順序でこれらのコマンドを実行します。
WinDbg インターフェイスを介して行われたアクションは、デバッグ サーバーによっても実行されます。
ユーザー間の 通信
新しいデバッグ クライアントがセッションに接続するたびに、他のすべてのユーザーに、このクライアントが接続したというメッセージが表示されます。 クライアントが切断されたときにメッセージは表示されません。
.clients (デバッグ クライアントの一覧表示) コマンドは、デバッグ セッションに現在接続されているすべてのクライアントを一覧表示します。
.echo (Echo Comment) コマンドは、あるユーザーから別のユーザーにメッセージを送信する場合に便利です。
WinDbg ワークスペース
WinDbg がデバッグ クライアントとして使用されている場合、そのワークスペースはグラフィカル インターフェイスを介して設定された値のみを保存します。 [デバッガー コマンド] ウィンドウで行われた変更は保存されません。 (これにより、デバッガー コマンド ウィンドウはすべてのクライアントとデバッグ サーバーからの入力を受け入れるため、ローカル クライアントによって行われた変更のみが反映されます)。
ファイル パス
シンボル パス、実行可能イメージ パス、および拡張 DLL パスはすべて、デバッグ サーバー上の Debugging Tools for Windows インストール フォルダーを基準としたファイル パスとして解釈されます。
WinDbg をデバッグ クライアントとして使用する場合は、独自の ローカル ソース パス を持っています。 すべてのソース関連コマンドは、ローカル コンピューター上のソース ファイルにアクセスします。 そのため、ソース コマンドを使用する任意のクライアントまたはサーバーで適切なパスを設定する必要があります。
この複数パス システムを使用すると、デバッグ クライアントは、ソース ファイルを他のクライアントやサーバーと実際に共有することなく、ソース関連のコマンドを使用できます。 これは、ユーザーの 1 人がアクセスできるプライベートまたは機密のソース ファイルがある場合に便利です。
デバッグ サーバーの取り消しを する
.endsrv (デバッグ サーバーの終了) コマンドを使用して、デバッグ サーバーを終了できます。 デバッガーで複数のデバッグ サーバーが確立されている場合は、一部のデバッグ サーバーを取り消しながら、他のサーバーを実行したままにできます。
サーバーを終了すると、将来のクライアントがサーバーに接続できなくなります。 現在サーバー経由で接続されているクライアントは切断されません。
デバッガーを終了し、セッションを終了する
サーバーを終了せずに 1 つのデバッグ クライアントから終了するには、その特定のクライアントからコマンドを発行する必要があります。 このクライアントが KD または CDB の場合は、Ctrl + B キーを使用して終了します。 KD または CDB を実行するスクリプトを使用している場合は、.remote_exit (デバッグ クライアントの終了)を使用します。 クライアントが WinDbg の場合は、[ファイル] メニューから [終了] を選択して終了します。
セッション全体を終了してデバッグ サーバーを終了するには、q (Quit) コマンドを使用します。 このコマンドは、任意のサーバーまたはクライアントから入力でき、すべてのユーザーのセッション全体を終了します。
重要
リモート デバッグを使用する場合のセキュリティに関するその他の重要な考慮事項があります。セキュリティ モードの有効化の詳細については、「Security During Remote Debugging」および「Security Considerations for Windows Debugging Tools」を参照してください。