次の方法で共有


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

重要

1394 トランスポートは、Windows 10 バージョン 1607 およびそれ以前で使用できます。 それより後のバージョンの Windows では使用できません。 イーサネットを使用して KDNET などの他のトランスポートにプロジェクトを移行する必要があります。 そのトランスポートの詳細については、「KDNET ネットワーク カーネル デバッグの自動設定」を参照してください。

Windows 用 Debugging Tools は、1394 (Firewire) ケーブルを介したカーネルデバッギングをサポートする。 このトピックでは、1394 デバッグを手動でセットアップする方法について説明します。

デバッガを実行するコンピューターはホスト コンピューターと呼ばれ、デバッグ対象のコンピューターはターゲット コンピューターと呼ばれます。 ホストコンピュータとターゲットコンピュータはそれぞれ1394アダプタを持ち、Windows XP以降を実行している必要があります。 ホストコンピュータとターゲットコンピュータが同じバージョンのWindowsを実行している必要はありません。

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

  1. ホストコンピュータとターゲットコンピュータのデバッグ用に選択した 1394 コントローラに 1394 ケーブルを接続する。

重要

BCDEdit を使用してブート情報を変更する前に、テスト PC 上で BitLocker や Secure Boot などの Windows セキュリティ機能を一時的に停止する必要があるかもしれません。 テストが完了したら、これらのセキュリティ機能を再度有効にし、セキュリティ機能が無効になっている場合は、テストPCを適切に管理します。

  1. 昇格したコマンドプロンプトウィンドウで、以下のコマンドを入力します。ここで、n は 0 ~ 62 の範囲で選択したチャネル番号です。

    bcdedit /debug on

    bcdedit /dbgsettings 1394 channel:n

  2. デバッグに使用する 1394 コントローラのバス、デバイス、ファンクション番号を指定する必要があります。 詳細については、 「1394 デバッグのトラブルシューティングのヒント」 を参照してください。

  3. ターゲットコンピュータをまだ再起動しないでください。

初めてデバッグセッションを開始する

  1. ホストコンピュータ上で実行されている Windows のビット数 (32 ビットまたは 64 ビット) を決定する。

  2. ホストコンピュータで、ホストコンピュータで実行されているWindowsのビットサイズに合ったバージョンのWinDbgを(管理者として)開きます。 例えば、ホスト・コンピュータがWindowsの64ビット・バージョンを実行している場合、64ビット・バージョンのWinDbgをAdministratorとして開きます。

  3. [ファイル] メニューの [カーネル デバッグ] を選択します。 Kernel Debugging ダイアログボックスで、1394 タブを開きます。チャンネル番号を入力し、[OK]をクリックします。

    この時点で、1394 デバッグドライバがホストコンピュータにインストールされます。 このため、WinDbg のビット数を Windows のビット数に合わせることが重要である。 1394 デバッグドライバがインストールされると、その後のデバッグセッションで WinDbg の 32 ビットまたは 64 ビットバージョンを使用できる。

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

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

WinDbg の使用

  • ホスト コンピューターで WinDbg を開きます。 [ファイル] メニューの [カーネル デバッグ] を選択します。 Kernel Debugging ダイアログボックスで、1394 タブを開きます。チャンネル番号を入力し、[OK]をクリックします。

    コマンドプロンプトウィンドウで以下のコマンドを入力して、WinDbg のセッションを開始することもできます。ここで、n はチャンネル番号です。

    windbg /k 1394:channel=n

KD の使用

  • ホストコンピュータで、コマンドプロンプトウィンドウを開き、以下のコマンドを入力します。ここで、n はチャンネル番号です。

    kd /k 1394:channel=n

環境変数の使用

ホストコンピュータでは、環境変数を使って1394チャンネルを指定することができます。 そうすれば、デバッグ・セッションを開始するたびにチャンネルを指定する必要はない。 環境変数を使用して 1394 チャンネルを指定するには、コマンドプロンプトウィンドウを開き、以下のコマンドを入力します。ここで、n はチャンネル番号です。

  • set _NT_DEBUG_BUS=1394
  • set _NT_DEBUG_1394_CHANNEL=n

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

  • kd
  • windbg

追加情報

bcdedit コマンドと boot.ini ファイルの完全な説明については、Windows Driver Kit (WDK) ドキュメントの Boot Options for Driver Testing and Debugging を参照してください。

1394 ケーブルでのデバッグのトラブルシューティングのヒント

ほとんどの 1394 デバッグ問題は、ホストまたはターゲットコンピュータで複数の 1394 コントローラを使用することにより発生します。 ホストコンピュータで複数の 1394 コントローラを使用することはサポートされていません。 ホスト上で動作する 1394 デバッグドライバは、レジストリに列挙された最初の 1394 コントローラとのみ通信できます。 マザーボードに内蔵された1394コントローラと別の1394カードがある場合は、カードを取り外すか、コンピュータのBIOS設定で内蔵コントローラを無効にします。

ターゲットコンピュータは複数の1394コントローラを持つことができますが、これは推奨されません。 ターゲットコンピュータにマザーボード上の1394コントローラがある場合、可能であれば、そのコントローラをデバッグに使用して下さい。 追加の1394カードがある場合は、カードを取り外してオンボードコントローラを使うべきである。 もう一つの解決策は、コンピュータのBIOS設定でオンボード1394コントローラを無効にすることである。

ターゲットコンピュータで複数の 1394 コントローラを有効にする場合、デバッガがデバッグのために要求するコントローラを認識できるように、バスパラメータを指定する必要があります。 バスパラメータを指定するには、ターゲットコンピュータでデバイスマネージャを開き、デバッグに使用する 1394 コントローラを見つけます。 コントローラのプロパティページを開き、バス番号、デバイス番号、ファンクション番号をメモします。 昇格したコマンドプロンプトウィンドウで、以下のコマンドを入力します。b, d, およびf は、バス番号、デバイス番号、ファンクション番号を 10 進形式で表します:

bcdedit -set "{dbgsettings}" busparamsb.d.f.

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

関連項目

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

KDNET ネットワーク カーネル デバッグの自動設定