Freigeben über


Einrichten des KDNET-Netzwerkkernkerndebuggings automatisch

Das Debuggen von Tools für Windows unterstützt das Kerneldebugging über ein Netzwerk. This article describes how to set up network debugging automatically by using the KDNET (kdnet.exe) setup tool.

The computer that runs the debugger is the host computer, and the computer being debugged is the target computer. The host computer must run Windows 7 or later, and the target computer must run Windows 8 or later.

Ermitteln der IP-Adresse des Hostcomputers

Gehen Sie folgendermaßen vor, um die IP-Adresse des Hostcomputers zu finden:

  1. Vergewissern Sie sich, dass die Ziel- und Host-PCs mit einem Netzwerkhub verbunden sind oder mit einem entsprechenden Netzwerkkabel wechseln.

  2. On the host computer, open a command prompt and enter IPConfig to display the IP configuration.

  3. Suchen Sie in der Befehlsausgabe die IPv4-Adresse des Ethernet-Adapters für den Computer: <Host-IP-Address>

    ...
    Ethernet adapter Ethernet:
    ...
    IPv4 Address. . . . . . . . . . . : <Host-IP-Address>
    ...
    

    Alternatively, use Settings>Network & internet>Ethernet to gather the IPv4 address information.

  4. Notieren Sie sich die IPv4-Adresse des Netzwerkadapters, den Sie für das Debuggen verwenden möchten.

Einrichten der Host- und Zielcomputer

Verwenden Sie das KDNET-Hilfsprogramm, um die Debuggereinstellungen auf dem Ziel-PC automatisch mit diesen Schritten zu konfigurieren.

Note

Bei diesem Verfahren wird davon ausgegangen, dass sowohl der Host als auch die Zielberechnung eine 64-Bit-Version von Windows ausführen. Wenn Ihre Konfiguration anders ist, besteht der beste Ansatz darin, die gleiche "Bitanzahl" von Tools auf dem Host auszuführen, der auf dem Ziel ausgeführt wird. Wenn das Ziel beispielsweise 32-Bit-Windows ausführt, führen Sie eine 32-Bit-Version des Debuggers auf dem Host aus. Weitere Informationen finden Sie unter Auswählen der 32-Bit- oder 64-Bit-Debuggingtools.

  1. Vergewissern Sie sich, dass Windows-Debuggingtools auf dem Hostcomputer installiert sind. Informationen zum Herunterladen und Installieren der Tools finden Sie unter Debugtools für Windows.

  2. Locate the kdnet.exe and VerifiedNICList.xml files on the host computer. Standardmäßig befinden sich die Dateien im Ordner "C:\Programme (x86)\Windows Kits\10\Debuggers\x64 ".

  3. Kopieren Sie die beiden Dateien auf dem Hostcomputer auf eine Netzwerkfreigabe oder ein Minilaufwerk, damit sie für den Zielcomputer verfügbar sind.

  4. On the target computer, create a C:\KDNET folder, and copy the kdnet.exe and VerifiedNICList.xml files to the folder.

    Important

    Before you use kdnet.exe to change boot information, you might need to temporarily suspend Windows security features on the test PC, such as BitLocker and Secure Boot. Nachdem Sie den Test abgeschlossen haben, können Sie die Sicherheitsfeatures erneut verwenden. Achten Sie darauf, den Test-PC entsprechend zu verwalten, wenn die Sicherheitsfeatures deaktiviert sind.

  5. Öffnen Sie auf dem Zielcomputer eine Eingabeaufforderung als Administrator. Geben Sie den folgenden Befehl ein, um sicherzustellen, dass der Zielcomputer über einen unterstützten Netzwerkadapter verfügt:

    C:\KDNET>kdnet.exe
    Network debugging is supported on the following NICs:
    busparams=1.0.0, Broadcom NetXtreme Gigabit Ethernet, Plugged in.  
    This Microsoft hypervisor supports using KDNET in guest VMs.
    

    After the output from the KDNET (kdnet.exe) command shows the network adapter supported on the target, you can proceed.

  6. Geben Sie den folgenden Befehl ein, um die IP-Adresse des Hostsystems festzulegen und einen eindeutigen Verbindungsschlüssel zu generieren.

    • Verwenden Sie für den <Host-Computer-IP-Address> Wert die IP-Adresse oder den Namen des Hostsystems.
    • Geben Sie für den <Debug-Port> Wert eine eindeutige Portadresse für jedes Ziel-/Hostpaar ein, mit dem Sie arbeiten, innerhalb des empfohlenen Bereichs von 50000-50039.
    C:\KDNET>kdnet.exe <Host-Computer-IP-Address> 
    
    Enabling network debugging on Intel(R) 82577LM Gigabit Network Connection.
    Key=2steg4fzbj2sz.23418vzkd4ko3.1g34ou07z4pev.1sp3yo9yz874p
    
  7. Save the key value returned by the KDNET command in a notepad .txt file.

Verbinden von WinDbg mit dem Ziel für das Kerneldebugging

Verbinden Sie WinDbg mit dem Zielcomputer für das Kerneldebugging, indem Sie die folgenden Schritte ausführen:

  1. On the host computer, open WinDbg, and select File>Kernel Debug.

  2. In the Kernel Debugging dialog, select the Net tab.

  3. Paste the port number and key from the notepad.txt file into the tab fields, and select OK.

You can also start the WinDbg session from the command line by using the windbg.exe command and the values you saved in the notepad.txt file.

windbg.exe -k -d net:port=<Debug-Port>,key=<KDNET-Key> 

Der <Debug-Port> Wert ist der port, den Sie zuvor ausgewählt haben. Der <KDNET-Key> Wert ist der von KDNET zurückgegebene Schlüssel. Der optionale -d Parameter ermöglicht einen frühen Umbruch. Weitere Informationen finden Sie unter WinDbg-Befehlszeilenoptionen.

Wenn Sie die Verbindung starten, werden Sie möglicherweise von WinDbg aufgefordert, den Zugriff auf den Port über die Firewall zuzulassen:

Screenshot der Windows-Sicherheitswarnung mit Auswahl, um den Zugriff auf alle drei Netzwerktypen zu ermöglichen.

In the message dialog, select each checkbox to enable access for all three network types, and select Allow access.

An diesem Punkt wartet der Debugger auf die erneute Verbindung des Ziels und zeigt den Fortschritt im Debugger-Befehlsfenster an:

Microsoft (R) Windows Debugger Version 1.0.1908.30002 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.

Using NET for debugging
Opened WinSock 2.0
Waiting to reconnect...

Starten Sie den Ziel-PC neu.

Wenn der Debugger die Option "Warten auf erneute Verbindung..." anzeigt meldung, starten Sie den Zielcomputer neu.

Eine Möglichkeit zum Neustarten des PCs besteht darin, den folgenden Befehl in einer Eingabeaufforderung als Administrator auszuführen:

shutdown -r -t 0 

Nach dem Neustart des Ziel-PCs sollte der Debugger automatisch eine Verbindung herstellen.

Troubleshoot issues

Wenn Sie Probleme beim Herstellen der Portverbindung oder beim Starten der Debugsitzung haben, lesen Sie die folgenden Tipps zur Problembehandlung.

Debuggen von Apps über die Firewall zulassen

Auf der Hostseite, auf der der Debugger ausgeführt wird, müssen alle Netzwerktypen aktiviert sein, damit der Debugger über die Firewall mit dem Ziel kommunizieren kann.

Use the Windows Control Panel to allow access through the firewall.

  1. Open Control Panel>System and Security and select the appropriate Allow an app through Windows Firewall options:

    • WinDbg: In the list of applications, locate the WinDbg engine process (TCP) (all) option.

    • WinDbg (Classic): In the list of applications, locate the Windows GUI Symbolic Debugger and Windows Kernel Debugger options.

  2. Select the checkboxes to allow all debugging applications through all three network types.

  3. Select OK to save the firewall changes, and then restart the debugger.

    Screenshot der Firewallkonfiguration der Systemsteuerung mit Windows GUI Symbolic Debugger und Windows Kernel Debugger-Anwendungen mit allen drei Netzwerktypen aktiviert.

Verwenden von Ping zum Testen der Konnektivität

Wenn der Debugger ausläuft und keine Verbindung herstellt, verwenden Sie den ping Befehl auf dem Ziel-PC, um die Konnektivität zu überprüfen:

C:\>Ping <HostComputerIPAddress>

Auswählen eines Ports für das Netzwerkdebugging

Wenn der Debugger ausläuft und keine Verbindung herstellt, liegt dies möglicherweise daran, dass die Standardportnummer 50000 bereits verwendet oder blockiert wird.

Sie können eine beliebige Portnummer zwischen 49152 und 65535 (einschließlich) auswählen. Der empfohlene Bereich beträgt 50000 bis 50039. Der von Ihnen ausgewählte Port wird für den exklusiven Zugriff durch den Debugger geöffnet, der auf dem Hostcomputer ausgeführt wird.

Eine Unternehmensnetzwerkrichtlinie kann den Für das Netzwerkdebugging verfügbaren Portnummernbereich einschränken. Um festzustellen, ob die Richtlinie Ihres Unternehmens den Bereich der Ports für das Netzwerkdebugging begrenzt, wenden Sie sich an Die Netzwerkadministratoren.

Suchen nach unterstützten Netzwerkadaptern

Wenn beim Ausführen von KDNET das Netzwerkdebugging für niCs in dieser Computermeldung nicht unterstützt wird , wird der Netzwerkadapter nicht unterstützt.

Der Hostcomputer kann einen beliebigen Netzwerkadapter verwenden, der Zielcomputer muss jedoch einen Netzwerkadapter verwenden, der von Debugtools für Windows unterstützt wird. Eine Liste der unterstützten Netzwerkadapter finden Sie in den folgenden Artikeln:

Aktivieren anderer Debugtypen

Windows 10 Oktober 2020 Update (20H2) und höher unterstützen vier Arten von Debugging:

KDNET option Debugging type Äquivalenter Satzbefehl More information
b Bootmgr debugging bcdedit /bootdebug {bootmgr} on BCDEdit /bootdebug
w Winload debugging bcdedit /bootdebug on BCDEdit /bootdebug
k Kernel debugging bcdedit /debug on Erste Schritte mit WinDbg (Kernelmodus)
h Hypervisor debugging bcdedit /set hypervisordebug on BCDEdit /hypervisorsettings

Hier sind die Details zum Arbeiten mit den Debugtypen:

  • Sie können eine beliebige Kombination von Debugtypen angeben.
  • Wenn Sie keine Debugtypen angeben, aktiviert das System das Kerneldebugging.
  • Wenn Sie sowohl Hypervisor- als auch Kerneldebugging aktivieren, ist der Hypervisorport auf <Debug-Port> +1 festgelegt.

Beispiel: Aktivieren des Bootmgr-, Kernel- und Winload-Debuggings

Im folgenden Beispiel wird die - bkw Option zum Aktivieren des Bootmgr-, Kernel- und Winload-Debuggings verwendet:

C:\>kdnet.exe <HostComputerIPAddress> <YourDebugPort> -bkw

Enabling network debugging on Intel(R) 82577LM Gigabit Network Connection.
Key=2steg4fzbj2sz.23418vzkd4ko3.1g34ou07z4pev.1sp3yo9yz874p

Angeben von Busparametern

Wenn KDNET die Busparameter für Ihren Transport nicht automatisch ermitteln kann, können Sie die Parameter in der Befehlszeile mit der /busparams Option angeben:

kdnet.exe /busparams [b.d.f] [host] [port] [-[b][h][k][w]]

Der b.d.f Teil gibt die Busparameter für das zu konfigurierende Gerät an.

Use Device Manager on the target computer to determine the PCI bus number (b), the device number (d), and the function number (f) of the adapter you want to use for debugging. These values are available in the General tab under the Location setting.

For example:

C:\>kdnet.exe /busparams 0.29.7 <Host-Computer-IP-Address> <Debug-Port> -bkw