シリアル ケーブル経由のカーネルモード デバッグの手動設定

Windows 用デバッグ ツールでは、null モデム ケーブルを介したカーネル デバッグがサポートされています。 null モデム ケーブルは、2 つのシリアル ポート間でデータを送信するように構成されたシリアル ケーブルです。 null モデム ケーブルを標準シリアル ケーブルと混同しないでください。 標準シリアル ケーブルは、シリアル ポートを相互接続しません。 null モデム ケーブルの配線方法については、「null モデム ケーブルの配線」を参照してください。

デバッガを実行するコンピューターはホスト コンピューターと呼ばれ、デバッグ対象のコンピューターはターゲット コンピューターと呼ばれます。

ターゲット コンピューターのセットアップ

重要

BCDEdit を使用してブート情報を変更する前に、テスト PC で BitLocker やセキュア ブートなどの Windows セキュリティ機能を一時的に中断することが必要になる場合があります。 デバッグが完了し、カーネル デバッグを無効にしたら、セキュア ブートを再度有効化できます。

  1. ターゲット コンピューターで、管理者として [コマンド プロンプト] ウィンドウを開き、次のコマンドを入力します。ここで、n はターゲット コンピューターでのデバッグに使用される COM ポートの数、rate はデバッグに使用されるボー レートです。

    bcdedit /debug on

    bcdedit /dbgsettings serial debugport:n baudrate:rate

    注: ボー レートは、ホスト コンピューターとターゲット コンピューターで同じである必要があります。 推奨レートは 115200 です。

  2. ターゲット コンピューターを再起動します。

デバッグ セッションの開始

ホスト コンピューターとターゲット コンピューターでデバッグするために選択した COM ポートに、null モデム ケーブルを接続します。

WinDbg の使用

ホスト コンピューターで WinDbg を開きます。 [ファイル] メニューの [カーネル デバッグ] を選択します。 [カーネル デバッグ] ダイアログ ボックスで、[COM] タブを開きます。[ボーレート] ボックスに、デバッグ用に選択したレートを入力します。 [ポート] ボックスに「COMn」と入力します。ここで、n は、ホスト コンピューターでデバッグするために選択した COM ポート番号です。 [OK] を選択します。

[コマンド プロンプト] ウィンドウで次のコマンドを入力して、WinDbg とのセッションを開始することもできます。n はホスト コンピューターでのデバッグに使用される COM ポートの数、rate はデバッグに使用されるボー レートです。

windbg -k com:port=COMn,baud=rate

KD の使用

ホスト コンピューターで [コマンド プロンプト] ウィンドウを開き、次のコマンドを入力します。ここで、n はホスト コンピューターでのデバッグに使用される COM ポートの数、rate はデバッグに使用されるボー レートです。

kd -k com:port=COMn,baud=rate

環境変数の使用

ホスト コンピューターでは、環境変数を使用して COM ポートとボー レートを指定できます。 そのため、デバッグ セッションを開始するたびにポートとボー レートを指定する必要はありません。 環境変数を使用して COM ポートとボー レートを指定するには、[コマンド プロンプト] ウィンドウを開き、次のコマンドを入力します。ここで、n はホスト コンピューターでのデバッグに使用される COM ポートの数、rate はデバッグに使用されるボー レートです。

  • set _NT_DEBUG_PORT=COMn
  • set _NT_DEBUG_BAUD_RATE=rate

デバッグ セッションを開始するには、[コマンド プロンプト] ウィンドウを開き、次のいずれかのコマンドを入力します。

  • kd
  • windbg

シリアル ケーブル経由のデバッグのトラブルシューティングに関するヒント

ホストとターゲットの両方で適切な COM ポートを指定する

ホスト コンピューターとターゲット コンピューターでデバッグに使用する COM ポートの数を決めます。 たとえば、ホスト コンピューターの COM1 とターゲット コンピューターの COM2 に接続されている null モデム ケーブルがあるとします。

ターゲット コンピューターで、管理者として [コマンド プロンプト] ウィンドウを開き、「bcdedit /dbgsettings」と入力します。 ターゲット コンピューターで COM2 を使用している場合、bcdedit の出力には debugport 2 が表示されます。

ホスト コンピューターで、デバッガーを起動するとき、または環境変数を設定するときに、正しい COM ポートを指定します。 ホスト コンピューターで COM1 を使用している場合は、次のいずれかの方法で COM ポートを指定します。

  • WinDbg の [カーネル デバッグ] ダイアログ ボックスで、[ポート] ボックスに「COM1」と入力します。
  • windbg -k com:port=COM1, ...
  • kd -k com:port=COM1, ...
  • set _NT_DEBUG_PORT=COM1

ボー レートは、ホストとターゲットで同じである必要があります

シリアル ケーブル経由のデバッグに使用されるボー レートは、ホスト コンピューターとターゲット コンピューターで同じ値に設定する必要があります。 たとえば、ボー レート 115200 を選択したとします。

ターゲット コンピューターで、管理者として [コマンド プロンプト] ウィンドウを開き、「bcdedit /dbgsettings」と入力します。 bcdedit の出力には、baudrate 115200 が表示されます。

ホスト コンピューターで、デバッガーを起動するとき、または環境変数を設定するときに、正しいボー レートを指定します。 ボー レート 115200 を指定するには、次のいずれかの方法を使用します。

  • WinDbg の [カーネル デバッグ] ダイアログ ボックスで、[ボー レート] ボックスに「115200」と入力します。
  • windbg -k ..., baud=115200
  • kd -k ..., baud=115200
  • set _NT_DEBUG_BAUD_RATE=115200

null モデム ケーブルの配線

次のテーブルは、null モデム ケーブルの配線方法を示しています。

9 ピン コネクタ

コネクタ 1 コネクタ 2 シグナル
2 3 Tx - Rx
3 2 Rx - Tx
7 8 RTS - CTS
8 7 CTS - RTS
4 1+6 DTR - (CD+DSR)
1+6 4 (CD+DSR) - DTR
5 5 シグナル グラウンド

25 ピン コネクタ

コネクタ 1 コネクタ 2 シグナル
2 3 Tx - Rx
3 2 Rx - Tx
4 5 RTS - CTS
5 4 CTS - RTS
6 20 DSR - DTR
20 6 DTR - DSR
7 7 シグナル グラウンド

シグナルの省略形

省略形 Signal
Tx データの送信
Rx データの受信
RTS 送信の要求
CTS 送信のクリア
DTR データ ターミナルの準備完了
DSR データ セットの準備完了
CD キャリア検出

追加情報

bcdedit コマンドの詳細については、「BCDEdit オプション リファレンス」を参照してください。

関連項目

カーネル モードのデバッグを手動でセットアップする