Visual Studio でのネットワーク ケーブル経由でのカーネルモード デバッグの設定Setting Up Kernel-Mode Debugging over a Network Cable in Visual Studio

重要

この機能は、Windows 10 バージョン1507以降のバージョンの WDK では使用できません。This feature is not available in Windows 10, version 1507 and later versions of the WDK.

Microsoft Visual Studio を使用すると、イーサネットネットワーク経由でカーネルモードのデバッグを設定して実行できます。You can use Microsoft Visual Studio to set up and perform kernel-mode debugging over an Ethernet network. Visual Studio を使用してカーネルモードのデバッグを行うには、Visual Studio に Windows Driver Kit (WDK) が統合されている必要があります。To use Visual Studio for kernel-mode debugging, you must have the Windows Driver Kit (WDK) integrated with Visual Studio. 統合環境をインストールする方法の詳細については、「 Visual Studio を使用したデバッグ」を参照してください。For information about how to install the integrated environment, see Debugging Using Visual Studio.

Visual Studio を使用してイーサネットデバッグを設定する代わりに、セットアップを自動的に実行することもできます。As an alternative to using Visual Studio to set up Ethernet debugging, you can do the setup automatically. 詳細については、「 KDNET Network カーネルデバッグの自動セットアップ」を参照してください。For more information, see Setting Up KDNET Network Kernel Debugging Automatically.

イーサネットネットワークでのデバッグは、他の種類のケーブルを使ったデバッグと比較して次のような利点があります。Debugging over an Ethernet network has the following advantages compared to debugging over other types of cable:

  • ホストコンピューターとターゲットコンピューターは、ローカルネットワーク上の任意の場所に配置できます。The host and target computers can be anywhere on the local network.
  • 1台のホストコンピューターから、多くの対象コンピューターを簡単にデバッグできます。It is easy to debug many target computers from one host computer.
  • ネットワークケーブルは安価であり、すぐに利用できます。Network cable is inexpensive and readily available.
  • 2台のコンピューターがある場合は、どちらにもイーサネットアダプターがあると考えられます。Given any two computers, it is likely that they will both have Ethernet adapters. 両方にシリアルポートがあるか、どちらも1394ポートを持っている可能性は低くなります。It is less likely that they will both have serial ports or both have 1394 ports.

デバッガーを実行するコンピューターは ホストコンピューターと呼ばれ、デバッグ対象のコンピューターは ターゲットコンピューターと呼ばれます。The computer that runs the debugger is called the host computer, and the computer that is being debugged is called the target computer. ホストコンピューターは Windows XP 以降を実行している必要があり、対象のコンピューターは Windows 8 以降を実行している必要があります。The host computer must be running Windows XP or later, and the target computer must be running Windows 8 or later.

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

ホストコンピューターは、任意の有線またはワイヤレスネットワークアダプターを使用できますが、ターゲットコンピューターでは、Windows 用デバッグツールでサポートされているネットワークアダプターを使用する必要があります。The host computer can use any wired or wireless network adapter, but the target computer must use a network adapter that is supported by Debugging Tools for Windows. サポートされているネットワークアダプターの一覧については、「 Windows 8.1 でのネットワークカーネルデバッグのサポートされているイーサネット nic 」および「 Windows 10 でのネットワークカーネルデバッグ用のサポートされているイーサネット nicFor a list of supported network adapters, see Supported Ethernet NICs for Network Kernel Debugging in Windows 8.1 and Supported Ethernet NICs for Network Kernel Debugging in Windows 10.

ホストとターゲットコンピューターの構成Configuring the host and target computer

  1. ターゲットコンピューターのネットワークアダプターをネットワークハブに接続するか、および適切なネットワークケーブルを使用してスイッチを切り替えます。Connect the network adapter of the target computer to a network hub or switch using and appropriate network cable. ホストコンピューターのネットワークアダプターをネットワークハブに接続するか、標準ケーブルまたはワイヤレス接続を使用してスイッチします。Connect the network adapter of the host computer to a network hub or switch using a standard cable or a wireless connection.

  2. ドライバーの展開およびテスト用にコンピューターをプロビジョニングする (WDK 8.1)」の説明に従って、ホストとターゲットコンピューターの構成を開始します。Begin configuring your host and target computers as described in Provision a computer for driver deployment and testing (WDK 8.1).

  3. ホストコンピューターの Visual Studio で、[コンピューターの構成] ダイアログボックスが表示されたら、[コンピューターのプロビジョニング] を選択し、[ デバッガーの設定] を選択します。On the host computer, in Visual Studio, when you come to the Computer Configuration dialog box, select Provision computer and choose debugger settings.

  4. [ 接続の種類] で [ ネットワーク] を選択します。For Connection Type, choose Network.

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

    [ ポート番号] では、既定値をそのまま使用するか、任意の値を入力します。For Port Number, accept the default value or fill in a value of your choice. 49152 ~ 65535 の任意の数を選択できます。You can choose any number from 49152 through 65535. 選択したポートは、ホストコンピューターで実行されているデバッガーによる排他アクセスのために開かれます。The port that you choose will be opened for exclusive access by the debugger running on the host computer. ホストコンピューター上で実行されている他のアプリケーションで使用されていないポート番号を選択してください。Take care to choose a port number that is not used by any other applications that run on the host computer.

    メモ   ネットワークデバッグに使用できるポート番号の範囲は、会社のネットワークポリシーによって制限される場合があります。Note  The range of port numbers that can be used for network debugging might be limited by your company's network policy. ホストコンピューターから、どのような制限があるのかを判断する方法はありません。There is no way to tell from the host computer what the limitations are. 会社のポリシーによってネットワークデバッグに使用できるポートの範囲が制限されているかどうかを確認するには、ネットワーク管理者に確認してください。To determine whether your company's policy limits the range of ports that can be used for network debugging, check with your network administrators.

    キーについては、自動的に生成された既定値を使用することを強くお勧めします。For Key, we strongly recommend that you use the automatically generated default value. ただし、必要に応じて独自のキーを入力することもできます。However, you can enter your own key if you prefer. 詳細については、このトピックで後述 する「独自のキーの作成 」を参照してください。For more information, see Creating your own key later in this topic. [ ホスト IP] で、既定値をそのまま使用します。For Host IP, accept the default value. これは、ホストコンピューターの IP アドレスです。This is the IP address of your host computer.

    ターゲットコンピューターでデバイスマネージャーを使用して、デバッグに使用するアダプターの PCI バス、デバイス、および関数番号を決定します。Use Device Manager on the target computer to determine the PCI bus, device, and function numbers for the adapter you want to use for debugging. [ バスパラメーター] に「 b」と入力します。df の場合、 bd、および f は、アダプターのバス番号、デバイス番号、および関数番号です。For Bus Parameters, enter b.d.f where b, d, and f are the bus number, device number, and function number of the adapter. これらの値は、 [全般] タブの [場所] のデバイス マネージャーに表示されます。These values are displayed in Device Manager under Location on the General tab.

  5. 構成プロセスには数分かかり、対象のコンピューターが1回または2回自動的に再起動される場合があります。The configuration process takes several minutes and might automatically reboot the target computer once or twice. プロセスが完了したら、[ 完了] をクリックします。When the process is complete, click Finish.

注意   ターゲットコンピューターがドッキングステーションにあり、ドッキングステーションの一部であるネットワークアダプターに対してネットワークデバッグが有効になっている場合は、ドッキングステーションからコンピューターを削除しないでください。Caution  If your target computer is in a docking station, and you have network debugging enabled for a network adapter that is part of the docking station, do not remove the computer from the docking station. ドッキングステーションから対象のコンピューターを削除する必要がある場合は、まずカーネルデバッグを無効にします。If you need to remove the target computer from the docking station, disable kernel debugging first. ターゲットコンピューターでカーネルデバッグを無効にするには、管理者としてコマンドプロンプトウィンドウを開き、コマンド bcdedit/debug offを入力します。To disable kernel debugging on the target computer, open a Command Prompt window as Administrator and enter the command bcdedit /debug off. ターゲット コンピューターを再起動します。Reboot the target computer.

メモ   ターゲットコンピューターに Hyper-v の役割をインストールする場合は、「仮想マシンホストのネットワークデバッグのセットアップ」を参照してください。Note  If you intend to install the Hyper-V role on the target computer, see Setting Up Network Debugging of a Virtual Machine Host.

ターゲットコンピューターの dbgsettings を確認していますVerifying dbgsettings on the Target Computer

重要

BCDEdit を使用してブート情報を変更する前に、テスト PC で BitLocker やセキュアブートなどの Windows のセキュリティ機能を一時的に停止することが必要になる場合があります。Before using BCDEdit to change boot information you may need to temporarily suspend Windows security features such as BitLocker and Secure Boot on the test PC. セキュリティ機能が無効になっている場合は、テストが完了し、テスト PC を適切に管理するときに、これらのセキュリティ機能を再び有効にします。Re-enable these security features when testing is complete and appropriately manage the test PC, when the security features are disabled.

ターゲットコンピューターで、管理者としてコマンドプロンプトウィンドウを開き、次のコマンドを入力します。On the target computer, open a Command Prompt window as Administrator, and enter these commands:

bcdedit/dbgsettingsbcdedit /dbgsettings

bcdedit/enumbcdedit /enum

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

Debugtypeが NET で、 portがホストコンピューターの Visual Studio で指定したポート番号であることを確認します。Verify that debugtype is NET and port is the port number you specified in Visual Studio on the host computer. また、 key が、Visual Studio で自動的に生成されたキー (または指定したキー) であることを確認します。Also verify that key is the key that was automatically generated (or you specified) in Visual Studio.

指定したバスパラメーターと busparams が一致することを確認します。Verify that busparams matches the bus parameters you specified.

バスパラメーターに入力した値が表示されない場合は、次のコマンドを入力します。If you do not see the value you entered for Bus Parameters, enter this command:

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

ここで、 bd、および f は、デバッグに使用するように選択したターゲットコンピューター上のネットワークアダプターのバス、デバイス、および関数番号です。where b, d, and f are the bus, device, and function numbers of the network adapter on the target computer that you have chosen to use for debugging. これらの値は、デバイスマネージャーの [全般] タブの [場所] に表示されます。These values are displayed in device manager under Location on the General tab.

次に例を示します。For example:

bcdedit/set "{dbgsettings}" busparams 0.29.7bcdedit /set "{dbgsettings}" busparams 0.29.7

デバッグセッションを開始していますStarting the Debugging Session

  1. ホストコンピューターで、Visual Studio の [ ツール ] メニューの [ プロセスにアタッチ] をクリックします。On the host computer, in Visual Studio, on the Tools menu, choose Attach to Process.
  2. [ トランスポート] で、[ Windows カーネルモードデバッガー] を選択します。For Transport, choose Windows Kernel Mode Debugger.
  3. [ 修飾子] で、以前に構成したターゲットコンピューターの名前を選択します。For Qualifier, select the name of the target computer that you previously configured.
  4. [アタッチ] をクリックします。Click Attach.

ファイアウォールを介したデバッガーの許可Allowing the debugger through the firewall

ネットワークデバッグ接続を初めて確立しようとすると、ファイアウォール経由でのデバッグアプリケーション (Microsoft Visual Studio) を許可するように求められる場合があります。When you first attempt to establish a network debugging connection, you might be prompted to allow the debugging application (Microsoft Visual Studio) through the firewall. Windows のクライアントバージョンではプロンプトが表示されますが、Windows のサーバーバージョンにはプロンプトは表示されません。Client versions of Windows display the prompt, but Server versions of Windows do not display the prompt. [ドメイン]、[プライベート]、および [パブリック] の3種類のネットワークすべてのチェックボックスをオンにして、プロンプトに応答します。Respond to the prompt by checking the boxes for all three network types: domain, private, and public. プロンプトが表示されない場合、またはプロンプトが使用可能になったときにチェックボックスをオンにしなかった場合は、コントロールパネルを使用してファイアウォール経由のアクセスを許可する必要があります。If you do not get the prompt, or if you did not check the boxes when the prompt was available, you must use Control Panel to allow access through the firewall. [ コントロールパネル] [ > システムとセキュリティ] を開き、[ Windows ファイアウォールによるアプリの許可] をクリックします。Open Control Panel > System and Security, and click Allow an app through Windows Firewall. アプリケーションの一覧で、チェックボックスを使用して、Visual Studio がファイアウォールを通過できるようにします。In the list of applications, use the check boxes to allow Visual Studio through the firewall. Visual Studio を再起動します。Restart Visual Studio.

独自のキーを作成するCreating Your Own Key

ターゲットコンピューターのセキュリティを維持するには、ホストコンピューターと対象コンピューター間で移動するパケットを暗号化する必要があります。To keep the target computer secure, packets that travel between the host and target computers must be encrypted. ターゲットコンピューターを構成するときに、自動的に生成された暗号化キー (Visual Studio 構成ウィザードによって提供される) を使用することを強くお勧めします。We strongly recommend that you use an automatically generated encryption key (provided by the Visual Studio configuration wizard) when you configure the target computer). ただし、独自のキーを作成することもできます。However, you can choose to create your own key. ネットワークデバッグでは、4 64 ビット値として指定されている256ビットキーを使用します。ベース36は、ピリオドで区切られています。Network debugging uses a 256-bit key that is specified as four 64-bit values, in base 36, separated by periods. 各64ビット値は、最大13文字で指定されます。Each 64-bit value is specified by using up to 13 characters. 有効な文字は、a ~ z の文字、0 ~ 9 の数字です。Valid characters are the letters a through z and the digits 0 through 9. 特殊文字は使用できません。Special characters are not allowed. 次の一覧は、有効な (ただし、厳密ではない) キーの例を示しています。The following list gives examples of valid (although not strong) keys:

  • 1.2.3.41.2.3.4
  • abc. 123. .def. 456abc.123.def.456
  • 避けてください。以前のキーを使用します。dont.use.previous.keys

ネットワークケーブル経由でのデバッグに関するトラブルシューティングのヒントTroubleshooting Tips for Debugging over a Network Cable

デバッグアプリケーションはファイアウォール経由で許可されている必要がありますDebugging application must be allowed through firewall

デバッガー (WinDbg または KD) は、ファイアウォール経由でアクセスできる必要があります。Your debugger (WinDbg or KD) must have access through the firewall. コントロールパネルを使用して、ファイアウォール経由のアクセスを許可できます。You can use Control Panel to allow access through the firewall. [ コントロールパネル] [ > システムとセキュリティ] を開き、[ Windows ファイアウォールによるアプリの許可] をクリックします。Open Control Panel > System and Security, and click Allow an app through Windows Firewall. アプリケーションの一覧で、チェックボックスを使用して、Visual Studio がファイアウォールを通過できるようにします。In the list of applications, use the check boxes to allow Visual Studio through the firewall. Visual Studio を再起動します。Restart Visual Studio.

ポート番号は、ネットワークポリシーで許可されている範囲内である必要がありますPort number must be in range allowed by network policy

ネットワークデバッグに使用できるポート番号の範囲は、会社のネットワークポリシーによって制限される場合があります。The range of port numbers that can be used for network debugging might be limited by your company's network policy. 会社のポリシーによってネットワークデバッグに使用できるポートの範囲が制限されているかどうかを確認するには、ネットワーク管理者に確認してください。To determine whether your company's policy limits the range of ports that can be used for network debugging, check with your network administrator.

ポート番号を変更する必要がある場合は、次の手順を使用します。Use the following procedure if you need to change the port number.

  1. ホスト コンピューター上の Visual Studio の [ドライバー] メニューで、 [Test (テスト)] > [Configure Computers (コンピューターの構成)] の順に選びます。On the host computer, in Visual Studio, on the Driver menu, choose Test > Configure Computers.
  2. テストコンピューターの名前を選択し、[ 次へ] をクリックします。Select the name of your test computer, and click Next.
  3. [ コンピューターのプロビジョニング] を選択し、[デバッガーの設定] を選択します。Select Provision computer and choose debugger settings. [次へ] をクリックします。Click Next.
  4. [ ポート番号] に、ネットワーク管理者が指定できる範囲内の番号を入力します。For Port Number, enter a number that is in the range allowed by your network administrator. [次へ] をクリックします。Click Next.
  5. 再構成プロセスには数分かかり、ターゲットコンピューターが自動的に再起動されます。The reconfiguration process takes a few minutes and automatically reboots the target computer. プロセスが完了したら、[ 次へ ] をクリックして 完了します。When the process is complete, click Next and Finish.

Busparams を指定するSpecify busparams

デバッグに使用するネットワークアダプターのバス、デバイス、および関数番号を指定する必要があります。You must specify the bus, device, and function numbers of the network adapter that you intend to use for debugging. バスパラメーターを指定するにはデバイスマネージャーを開き、デバッグに使用するネットワークアダプターを探します。To specify the bus parameters, open Device Manager, and locate the network adapter that you want to use for debugging. ネットワークアダプターのプロパティページを開き、[全般] タブの [場所] に表示されるバス番号、デバイス番号、および機能番号をメモしておきます。管理者特権でのコマンドプロンプトウィンドウで、次のコマンドを入力します。ここで、 bd、およびfは、10進形式のバス、デバイス、および関数の数値です。Open the property page for the network adapter, and make a note of the bus number, device number, and function number displayed under Location on the General tab. In an elevated Command Prompt Window, enter the following command, where b, d, and f are the bus, device and function numbers in decimal format:

bcdedit-"{dbgsettings}" busparams bを設定します。dfbcdedit -set "{dbgsettings}" busparams b.d.f

ターゲット コンピューターを再起動します。Reboot the target computer.

関連トピックRelated topics

Visual Studio でのカーネル モード デバッグの設定Setting Up Kernel-Mode Debugging in Visual Studio

Windows 10 でネットワーク カーネル デバッグ用にサポートされているイーサネット NICSupported Ethernet NICs for Network Kernel Debugging in Windows 10

Windows 8.1 でネットワーク カーネル デバッグ用にサポートされているイーサネット NICSupported Ethernet NICs for Network Kernel Debugging in Windows 8.1

Windows 8 でネットワーク カーネルのデバッグ用にサポートされているイーサネット NICSupported Ethernet NICs for Network Kernel Debugging in Windows 8