WinDbg を使用したリモート デバッグ
リモート デバッグには、2 つの異なる場所で実行される 2 つのデバッガーが含まれます。 デバッグを実行するデバッガをデバッグサーバと呼びます。 2 番目のデバッガーはデバッグ クライアントと呼ばれ、リモートの場所からデバッグ セッションを制御します。 リモート セッションを確立するには、まずデバッグ サーバーをセットアップし、次にデバッグ クライアントをアクティブにする必要があります。
デバッグ中のコードは、デバッグ サーバーを実行しているのと同じコンピュータ上で実行されている可能性もあれば、別のコンピュータ上で実行されている可能性もあります。 デバッグ サーバーがユーザー モード デバッグを実行している場合、デバッグ中のプロセスはデバッグ サーバーと同じコンピューター上で実行できます。 デバッグ サーバーがカーネル モード デバッグを実行している場合、デバッグ対象のコードは通常、別のターゲット コンピューター上で実行されます。
次の図は、ホスト コンピューター上で実行されているデバッグ サーバーが、別のターゲット コンピューター上で実行されているコードのカーネル モード デバッグを実行しているリモート セッションを示しています。
リモート デバッグ接続に使用できるトランスポート プロトコルがいくつかあります。TCP、NPIPE、SPIPE、SSL、COM ポート。 プロトコルとして TCP を使用することを選択し、デバッグ クライアントとデバッグ サーバーの両方として WinDbg を使用することを選択したとします。 次の手順を使用して、リモート カーネル モード デバッグ セッションを確立できます。
ホスト コンピューターで WinDbg を開き、ターゲット コンピューターとのカーネル モード デバッグ セッションを確立します。 (「WinDbg (クラシック) を使用したライブ カーネル モード デバッグ」を参照してください。)
[デバッグ] メニューから [ブレーク] を選択するか、CTRL-Break を押してブレークインします。
デバッガー コマンド ウィンドウで、次のコマンドを入力します。
.server tcp:port=5005
注 ポート番号 5005 は任意です。 ポート番号は任意です。
WinDbg は次のような出力で応答します。
Server started. Client can connect with any of these command lines 0: <debugger> -remote tcp:Port=5005,Server=YourHostComputer
リモート コンピューターで WinDbg を開き、[ファイル] メニューから [リモート セッションに接続] を選択します。
[接続文字列] に次の文字列を入力します。
tcp:Port=5005,Server=YourHostComputer
ここで、YourHostComputer は、デバッグ サーバーを実行しているホスト コンピューターの名前です。
[OK] を選択します。
コマンドラインの使用
前のセクションで説明した手順の代わりに、コマンド ラインでリモート デバッグ セッションをセットアップできます。 チャネル 32 の 1394 ケーブルを介して、ホスト コンピューターとターゲット コンピューターの間でカーネル モードのデバッグ セッションを確立するように設定されているとします。 次の手順を使用して、リモート デバッグ セッションを確立できます。
ホスト コンピュータのコマンド プロンプト ウィンドウに次のコマンドを入力します。
Windbg -server tcp:port=5005 -k 1394:channel=32
リモート コンピューターのコマンド プロンプト ウィンドウに次のコマンドを入力します。
windbg -remote tcp:Port=5005,Server=YourHostComputer
ここで、YourHostComputer は、デバッグ サーバーを実行しているホスト コンピューターの名前です。
重要
1394 トランスポートは、Windows 10 バージョン 1607 およびそれ以前で使用できます。 それより後のバージョンの Windows では使用できません。 イーサネットを使用して KDNET などの他のトランスポートにプロジェクトを移行する必要があります。 そのトランスポートの詳細については、「KDNET ネットワーク カーネル デバッグの自動設定」を参照してください。
追加情報
このトピックで示した方法以外にも、リモート デバッグを確立する方法はたくさんあります。 WinDbg デバッガー コマンド ウィンドウでのデバッグ サーバーのセットアップの詳細については、「.server (デバッグ サーバーの作成)」を参照してください。 コマンド ラインでの WinDbg の起動 (およびリモート デバッグの確立) の詳細については、「WinDbg コマンド ライン オプション」を参照してください。