Visual Studio でのネットワーク ケーブル経由でのカーネルモード デバッグの設定

重要

この機能は、WDK Windows 10バージョン 1507 以降では使用できません。

イーサネット ネットワークをMicrosoft Visual Studioを設定し、カーネル モード のデバッグを実行するには、 を使用します。 カーネル モード のVisual Studioを使用するには、Windows Driver Kit (WDK) (WDK) を Visual Studio と統合する必要があります。 統合環境をインストールする方法については、「統合環境を使用したデバッグ」をVisual Studio。

イーサネット デバッグを設定Visual Studioの代わりに、セットアップを自動的に行います。 詳細については 、「KDNET ネットワーク カーネル の自動デバッグの設定」を参照してください

イーサネット ネットワーク経由でのデバッグには、他の種類のケーブルに対するデバッグと比較して、次のような利点があります。

  • ホストコンピューターとターゲット コンピューターは、ローカル ネットワーク上の任意の場所にできます。
  • 1 つのホスト コンピューターから多数のターゲット コンピューターをデバッグするのは簡単です。
  • ネットワーク ケーブルは安価で、すぐに使用できます。
  • 2 台のコンピューターがある場合、両方ともイーサネット アダプターを使用する可能性があります。 両方ともシリアル ポートを持つ可能性は低く、両方とも 1394 ポートを持つ可能性は低い。

デバッガーを実行するコンピューターはホスト コンピューターと呼ばされ、デバッグ対象のコンピューターはターゲット コンピューター と 呼ばれる。 ホスト コンピューターが Windows XP 以降を実行している必要があります。また、ターゲット コンピューターが以降Windows 8必要があります。

サポートされているネットワーク アダプター

ホスト コンピューターは任意のワイヤード (有線) またはワイヤレス ネットワーク アダプターを使用できますが、ターゲット コンピューターでは、デバッグ ツール for Windows でサポートされているネットワーク アダプターを使用する必要があります。 サポートされているネットワーク アダプターの一覧については、「Windows 8.1 でのネットワーク カーネル デバッグでサポートされるイーサネット NIC」および 「Windows 10 でのネットワーク カーネル デバッグでサポートされるイーサネット NIC」を参照してください

ホストコンピューターとターゲット コンピューターの構成

  1. と適切なネットワーク ケーブルを使用して、ターゲット コンピューターのネットワーク アダプターをネットワーク ハブまたはスイッチに接続します。 標準ケーブルまたはワイヤレス接続を使用して、ホスト コンピューターのネットワーク アダプターをネットワーク ハブまたはスイッチに接続します。

  2. 「ドライバーの展開とテスト用にコンピューターをプロビジョニングする (WDK 8.1) 」の説明に従って、ホストコンピューターとターゲット コンピューターの構成を開始します。

  3. ホスト コンピューターの [コンピューターのVisual Studio] ダイアログ ボックスが表示された場合は、[コンピューターのプロビジョニング] を選択し 、[デバッガーの設定] を選択します

  4. [接続 の種類] で、[ ネットワーク] を 選択します

    接続の種類、ターゲット名、バス パラメーターの値を含むデバッガー設定の例を示すスクリーン ショット。

    [ ポート番号] では、既定値を受け入れるか、選択した値を入力します。 49152 ~ 65535 の任意の数値を選択できます。 選択したポートは、ホスト コンピューターで実行されているデバッガーによって排他的アクセスのために開きます。 ホスト コンピューターで実行される他のアプリケーションでは使用されないポート番号を選択してください。

    ネットワーク デバッグに使用できるポート番号の範囲は、会社のネットワーク ポリシーによって制限される場合があります。 ホスト コンピューターから制限事項を確認する方法はありません。 会社のポリシーで、ネットワーク デバッグに使用できるポートの範囲が制限されているかどうかを確認するには、ネットワーク管理者に確認してください。

    [ キー] では、自動的に生成される既定値を使用することを強く推奨します。 ただし、必要に応じて独自のキーを入力できます。 詳細については、このトピックで後 の「独自のキーを作成 する」を参照してください。 [ ホスト IP] の 場合は、既定値を受け入れる必要があります。 これは、ホスト コンピューターの IP アドレスです。

    ターゲット デバイス マネージャーを使用して、デバッグに使用するアダプターの PCI バス、デバイス、および関数番号を決定します。 [バス パラメーター] に*「b」と入力します*。d。ここで、b、d、f**は アダプターのバス番号、デバイス番号、および関数番号です。 これらの値は、 [全般] タブの [場所] のデバイス マネージャーに表示されます。

  5. 構成プロセスには数分かかるので、ターゲット コンピューターが 1 回または 2 回自動的に再起動される場合があります。 プロセスが完了したら、[完了] を クリックします

注意 ターゲット コンピューターがドッキング ステーションに存在し、ドッキング ステーションの一部であるネットワーク アダプターに対してネットワーク デバッグが有効になっている場合は、ドッキング ステーションからコンピューターを削除しません。 ドッキング ステーションからターゲット コンピューターを削除する必要がある場合は、最初にカーネル デバッグを無効にします。 ターゲット コンピューターでカーネル デバッグを無効にするには、コマンド プロンプト ウィンドウを管理者として開き、 コマンド bcdedit /debug off を入力します。 ターゲット コンピューターを再起動します。

ターゲット コンピューターに Hyper-V の役割をインストールする場合は、「仮想マシン ホストのネットワーク デバッグの設定 」を参照してください

ターゲット コンピューターでの dbgsettings の検証

重要

BCDEdit を使用してブート情報を変更する前に、テスト PC で BitLocker やセキュア ブートなどの Windows セキュリティ機能を一時的に中断する必要がある場合があります。 テストが完了したら、これらのセキュリティ機能を再び有効にし、セキュリティ機能が無効になっているときにテスト PC を適切に管理します。

ターゲット コンピューターで、管理者としてコマンド プロンプト ウィンドウを開き、次のコマンドを入力します。

bcdedit /dbgsettings

bcdedit /enum

...
key                     RF8...KNE
debugtype               NET
hostip                  10.125.5.10
port                    50001
dhcp                    Yes
...
busparams               0.29.7
...

debugtype が NET で 、port がホスト コンピューター上の Visual Studio指定したポート番号を確認します。 また、 キーが、 自動的に生成されたキー (または指定したキー) Visual Studio。

busparams が、指定 したバス パラメーターと一致する必要があります。

[バス パラメーター] に入力した値が表示されない場合 は、次 のコマンドを入力します。

bcdedit /set "{dbgsettings}" busparams b.d。f

ここで 、b *、d、*および f は、デバッグに使用するために選択したターゲット コンピューター上のネットワーク アダプターのバス、デバイス、および関数番号です。 これらの値は、デバイス マネージャーの [全般] タブ の [場所 ] に表示 されます。

次に例を示します。

bcdedit /set "{dbgsettings}" busparams 0.29.7

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

  1. ホスト コンピューターの [ツール] メニュー Visual Studio[プロセスにアタッチ]を選択します
  2. [トランスポート ] で、[Windows カーネル モード デバッガー] を選択します
  3. [ 修飾子] で、以前に構成したターゲット コンピューターの名前を選択します。
  4. [アタッチ] をクリックします。

ファイアウォール経由でのデバッガーの許可

ネットワーク デバッグ接続を初めて確立しようとすると、ファイアウォール経由でデバッグ アプリケーション (Microsoft Visual Studio) を許可するように求めされる場合があります。 クライアント バージョンの Windows ではプロンプトが表示されますが、サーバー バージョンの Windows ではプロンプトが表示されません。 3 つのネットワークの種類 (ドメイン、プライベート、パブリック) のチェック ボックスをオンにして、プロンプトに応答します。 プロンプトが表示されない場合、またはプロンプトが使用可能なときにチェック ボックスをオンにしなかった場合は、コントロール パネル を使用してファイアウォール経由のアクセスを許可する必要があります。 [システム コントロール パネル > セキュリティ] を開 き、[ Windows ファイアウォール経由でアプリを許可する] をクリックします。 アプリケーションの一覧でチェック ボックスを使用して、ファイアウォールVisual Studioを許可します。 Visual Studio を再起動します。

独自のキーの作成

ターゲット コンピューターをセキュリティで保護するには、ホストコンピューターとターゲット コンピューターの間を移動するパケットを暗号化する必要があります。 ターゲット コンピューターを構成するときに、自動生成された暗号化キー (Visual Studio 構成ウィザードで提供) を使用することを強く推奨します。 ただし、独自のキーを作成することができます。 ネットワーク デバッグでは、4 つの 64 ビット値として指定された 256 ビット キーをベース 36 でピリオドで区切って使用します。 各 64 ビット値は、最大 13 文字を使用して指定されます。 有効な文字は、a ~ z の文字と 0 ~ 9 の数字です。 特殊文字は使用できません。 次の一覧は、有効な (強力ではない) キーの例を示しています。

  • 1.2.3.4
  • abc.123.def.456
  • don't.use.previous.keys

ネットワーク ケーブルを使用したデバッグに関するトラブルシューティングのヒント

デバッグ アプリケーションはファイアウォール経由で許可する必要があります

デバッガー (WinDbg または KD) は、ファイアウォール経由でアクセスできる必要があります。 ファイアウォール経由のコントロール パネルを許可するには、 を使用します。 [システム コントロール パネル > セキュリティ] を開 き、[ Windows ファイアウォール経由でアプリを許可する] をクリックします。 アプリケーションの一覧でチェック ボックスを使用して、ファイアウォールVisual Studioを許可します。 Visual Studio を再起動します。

ポート番号は、ネットワーク ポリシーで許可されている範囲内である必要があります

ネットワーク デバッグに使用できるポート番号の範囲は、会社のネットワーク ポリシーによって制限される場合があります。 会社のポリシーで、ネットワーク デバッグに使用できるポートの範囲が制限されているかどうかを確認するには、ネットワーク管理者に確認してください。

ポート番号を変更する必要がある場合は、次の手順に従います。

  1. ホスト コンピューター上の Visual Studio の [ドライバー] メニューで、 [Test (テスト)] > [Configure Computers (コンピューターの構成)] の順に選びます。
  2. テスト コンピューターの名前を選択し、[次へ] を クリックします
  3. [コンピューター のプロビジョニング] を選択し、[デバッガー設定] を選択します[次へ] をクリックします。
  4. [ ポート番号] には、ネットワーク管理者が許可する範囲内の番号を入力します。 [次へ] をクリックします。
  5. 再構成プロセスには数分かかり、ターゲット コンピューターが自動的に再起動されます。 プロセスが完了したら、[次へ] をクリックし 、[完了 ] を クリックします

busparams を指定する

デバッグに使用するネットワーク アダプターのバス、デバイス、および関数番号を指定する必要があります。 バス パラメーターを指定するには、デバイス マネージャーを開き、デバッグに使用するネットワーク アダプターを探します。 ネットワーク アダプターのプロパティ ページを開き、[全般] タブの [場所] の下に表示されるバス番号、デバイス番号、および関数番号 をメモ します。管理者特権でのコマンド プロンプト ウィンドウで、次のコマンドを入力します。ここで、b、d、f は 10 進数形式のバス、デバイス、および関数番号です。

bcdedit -set "{dbgsettings}" busparams b.d。f

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

関連トピック

Visual Studio でのカーネル モード デバッグの設定

Windows 10 でネットワーク カーネル デバッグ用にサポートされているイーサネット NIC

Windows 8.1 でネットワーク カーネル デバッグ用にサポートされているイーサネット NIC

Windows 8 でネットワーク カーネルのデバッグ用にサポートされているイーサネット NIC