Manuelles Debuggen des KDNET-Netzwerk-Kernels

Debugging-Tools für Windows unterstützen Kerneldebugging über ein Netzwerk. In diesem Artikel wird beschrieben, wie Sie das Netzwerk-Debugging manuell einrichten.

Wichtig

Das manuelle Einrichten eines Netzwerkdebuggings ist ein komplexer und fehleranfälliger Prozess. Informationen zum automatischen Einrichten des Netzwerkdebuggings finden Sie unter Automatisches Einrichten des KDNET-Netzwerkkernel-Debuggings. Die Verwendung des KDNET-Hilfsprogramms wird für alle Debuggerbenutzer dringend empfohlen.

Der Computer, auf dem der Debugger ausgeführt wird, wird als Hostcomputer bezeichnet, und der Computer, der debugged wird, wird als Zielcomputer bezeichnet. Der Hostcomputer muss Windows 7 oder höher ausführen, und der Zielcomputer muss Windows 8 oder höher ausführen.

Das Debuggen über ein Netzwerk hat die folgenden Vorteile gegenüber dem Debuggen gegenüber anderen Verbindungstypen.

  • Die Host- und Zielcomputer können sich überall im lokalen Netzwerk befinden.
  • Es ist einfach, viele Zielcomputer von einem Hostcomputer aus zu debuggen.
  • Angesichts von zwei Computern ist es wahrscheinlich, dass beide über Ethernet-Adapter verfügen. Es ist weniger wahrscheinlich, dass beide über serielle Ports oder 1394-Ports verfügen.
  • Das Netzwerkdebugging ist schneller als das Debuggen des seriellen Ports.

Unterstützte Netzwerkadapter

Der Hostcomputer kann einen beliebigen Netzwerkadapter verwenden, der Zielcomputer muss jedoch einen Netzwerkadapter verwenden, der von Debugging-Tools für Windows unterstützt wird. Eine Liste der unterstützten Netzwerkadapter finden Sie unter Unterstützte Ethernet-NICs für das Netzwerk-Kernel-Debugging in Windows 10 und Unterstützte Ethernet-NICs für das Netzwerk-Kernel-Debugging in Windows 8.1.

Installieren der Debugging-Tools für Windows

Vergewissern Sie sich, dass die Debugging-Tools für Windows auf dem Hostsystem installiert sind. Informationen zum Herunterladen und Installieren der Debugging-Tools finden Sie unter Debugging-Tools für Windows.

Bestimmen Sie die IP-Adresse des Host-Computers

Verwenden Sie eines der folgenden Verfahren, um die IP-Adresse des Hostcomputers zu ermitteln.

  1. Öffnen Sie auf dem Host-Computer eine Eingabeaufforderung und geben Sie den folgenden Befehl ein:

    ipconfig
    

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

  2. Öffnen Sie auf dem Zielcomputer eine Eingabeaufforderung, und geben Sie den folgenden Befehl ein, wobei YourIPAddress die IP-Adresse des Hostcomputers ist:

    ping -4 <YourIPAddress>
    

Wählen Sie einen Port für das Netzwerk-Debugging

Wählen Sie eine Portnummer für das Debuggen auf den Host- und Zielcomputern aus. Sie können eine beliebige Zahl zwischen 49152 und 65535 auswählen. Der empfohlene Bereich beträgt 50000 - 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. Achten Sie darauf, eine Portnummer auszuwählen, die nicht von anderen Anwendungen verwendet wird, die auf dem Hostcomputer ausgeführt werden.

Hinweis

Der Bereich der Portnummern, die für das Netzwerkdebugging verwendet werden können, kann durch die Netzwerkrichtlinie Ihres Unternehmens eingeschränkt werden. Es gibt keine Möglichkeit, vom Hostcomputer zu informieren, was die Einschränkungen sind. Um festzustellen, ob die Richtlinie Ihres Unternehmens den Bereich der Ports begrenzt, die für das Netzwerkdebugging verwendet werden können, wenden Sie sich an Ihren Netzwerkadministrator.

Wenn Sie mehrere Zielcomputer mit einem einzelnen Hostcomputer verbinden, muss jede Verbindung über eine eindeutige Portnummer verfügen. Wenn Sie beispielsweise 100 Zielcomputer mit einem einzelnen Hostcomputer verbinden, können Sie Port 50000 der ersten Verbindung, Port 50001 der zweiten Verbindung usw. zuweisen.

Hinweis

 Ein anderer Hostcomputer kann denselben Portbereich (50000 bis 50099) verwenden, um eine Verbindung mit anderen 100 Zielcomputern herzustellen.

Einrichten des Zielcomputers

  1. Stellen Sie sicher, dass der Zielcomputer über einen unterstützten Netzwerkadapter verfügt. Weitere Informationen finden Sie unter:

  2. Verbinden den unterstützten Adapter an einen Netzwerkhub oder Switch mit einem entsprechenden Netzwerkkabel.

Wichtig

Bevor Sie BCDEdit verwenden, um Startinformationen zu ändern, müssen Sie möglicherweise Windows-Sicherheitsfeatures wie BitLocker und Secure Boot vorübergehend auf dem Test-PC anhalten. Aktivieren Sie diese Sicherheitsfeatures nach Abschluss des Tests erneut, und verwalten Sie den Test-PC entsprechend, wenn die Sicherheitsfeatures deaktiviert sind.

  1. Geben Sie an einer Eingabeaufforderung mit erhöhten Rechten die folgenden Befehle ein, wobei w.x.y.z die IP-Adresse des Hostcomputers und n eine Portnummer Ihrer Wahl ist:

    bcdedit /debug on
    
    bcdedit /dbgsettings net hostip:w.x.y.z port:n
    
  2. BCDEdit zeigt einen automatisch generierten Schlüssel an. Kopieren Sie den Schlüssel und speichern Sie ihn auf einem Wechseldatenträger, z. B. einem USB-Speicherstick. Sie benötigen den Schlüssel, wenn Sie eine Debugging-Session auf dem Hostcomputer starten.

  3. Verwenden Sie den Geräte-Manager, um die PCI-Bus-, Geräte- und Funktionsnummern für den Adapter zu ermitteln, den Sie für das Debuggen verwenden möchten. Diese Werte werden im Geräte-Manager unter Position auf der Registerkarte Allgemein angezeigt. Geben Sie dann in einer Eingabeaufforderung mit erhöhten Rechten den folgenden Befehl ein, wobei b, d und f die Busnummer, Gerätenummer und Funktionsnummer des sind Adapter:

    bcdedit /set "{dbgsettings}" busparams b.d.f
    
  4. Der Ziel-PC wird neu gestartet, nachdem ein Kerneldebugger angefügt wurde.

Hinweis

Wenn Sie die Hyper-V-Rolle auf dem Zielcomputer installieren möchten, lesen Sie Einrichten des Netzwerk-Debuggings eines virtuellen Computerhosts.

Achtung: Wenn sich Ihr Zielcomputer in einer Dockingstation befindet und Das Netzwerk-Debugging für einen Netzwerkadapter aktiviert ist, der Teil der Dockingstation ist, entfernen Sie den Computer nicht von der Dockingstation. Wenn Sie den Zielcomputer aus der Dockingstation entfernen müssen, deaktivieren Sie zuerst das Kernel-Debugging. Um das Kernel-Debugging auf dem Zielcomputer zu deaktivieren, öffnen Sie eine Eingabeaufforderung als Administrator, und geben Sie den Befehl bcdedit /debug off ein. Starten Sie den Zielcomputer neu.

Starten der Debugsitzung

Vergewissern Sie sich, dass der Netzwerkadapter des Hostcomputers mit einem Netzwerkhub verbunden ist oder einen Switch über ein entsprechendes Netzwerkkabel verwendet.

Öffnen Sie auf dem Hostcomputer WinDbg. Wählen Sie im Menü Datei die Option Kerneldebugging. Öffnen Sie im Dialogfeld Kerneldebugging die Registerkarte Net. Geben Sie Die Portnummer und den Schlüssel ein. Klickan Sie auf OK.

Sie können eine Sitzung auch mit WinDbg starten, indem Sie eine Eingabeaufforderung öffnen und den folgenden Befehl eingeben, wobei n Ihre Portnummer ist und MyKey der Schlüssel ist, der beim Einrichten des Zielcomputers automatisch von BCDEdit generiert wurde:

windbg -k net:port=<n>,key=<MyKey>

Wenn Sie aufgefordert werden, WinDbg den Zugriff auf den Port über die Firewall zu ermöglichen, lassen Sie WinDbg den Zugriff auf den Port für alle drei verschiedenen Netzwerktypen zu.

Verwenden von KD

Öffnen Sie auf dem Hostcomputer eine Eingabeaufforderung. Geben Sie den folgenden Befehl ein, wobei n Ihre Portnummer ist und MyKey der Schlüssel ist, der beim Einrichten des Zielcomputers automatisch von BCDEdit generiert wurde:

kd -k net:port=<n>,key=<MyKey>

Wenn Sie aufgefordert werden, WinDbg den Zugriff auf den Port über die Firewall zu ermöglichen, lassen Sie WinDbg den Zugriff auf den Port für alle drei verschiedenen Netzwerktypen zu.

Starten Sie den Ziel-PC neu.

Sobald der Debugger verbunden ist und auf die Verbindung wartet, starten Sie den Zielcomputer neu. Eine Möglichkeit zum Neustarten des PCs besteht darin, diesen Befehl über die Eingabeaufforderung eines Administrators zu verwenden:

shutdown -r -t 0

Wenn der Zielcomputer neu gestartet ist, sollte der Debugger im Hostbetriebssystem eine Verbindung herstellen.

Nachdem Sie eine Verbindung mit dem Ziel auf dem Host hergestellt haben, können Sie den Debugger pausieren, und Sie können mit dem Debuggen beginnen.

Debugger über die Firewall zulassen

Wenn Sie zum ersten Mal versuchen, eine Netzwerkdebuggingverbindung herzustellen, werden Sie möglicherweise aufgefordert, den Zugriff auf die Debugging-Anwendung (WinDbg oder KD) über die Firewall zuzulassen. Clientversionen von Windows zeigen die Eingabeaufforderung an, aber Serverversionen von Windows zeigen die Eingabeaufforderung nicht an. Sie sollten auf die Eingabeaufforderung reagieren, indem Sie die Kontrollkästchen für alle drei Netzwerktypen aktivieren: Domäne, privat und öffentlich.

Wenn Sie die Eingabeaufforderung nicht erhalten oder die Kontrollkästchen nicht aktiviert haben, wenn die Eingabeaufforderung verfügbar war, müssen Sie die Systemsteuerung verwenden, um den Zugriff über die Firewall auf dem Host-PC zuzulassen, auf dem der Debugger ausgeführt wird. Öffnen Sie Systemsteuerung >, System und Sicherheit und wählen Sie App durch die Windows-Firewall zulassen.

  • (WinDbg) Suchen Sie in der Liste der Anwendungen den WinDbg-Modulprozess (TCP) (alle).

  • (Classic WinDbg) Suchen Sie in der Liste der Anwendungen Windows GUI Symbolic Debugger und Windows-Kerneldebugger.

Verwenden Sie die Kontrollkästchen, um diese Anwendungen über die Firewall zuzulassen. Starten Sie die Debugger-Anwendung (WinDbg oder KD) neu.

Verschlüsselungsschlüssel

Um den Zielcomputer sicher zu halten, müssen Pakete, die zwischen dem Host und den Zielcomputern reisen, verschlüsselt werden. Sie sollten einen automatisch generierten Verschlüsselungsschlüssel verwenden (bereitgestellt von BCDEdit, wenn Sie den Zielcomputer konfigurieren). Die Verwendung eines automatisch generierten Verschlüsselungsschlüssels wird empfohlen, da er sicherer ist und einen eindeutigen Wert bereitstellt, der zum Herstellen der Verbindung mit einem bestimmten Ziel verwendet wird.

Das Netzwerkdebugging verwendet einen 256-Bit-Schlüssel, der als vier 64-Bit-Werte in Base 36 angegeben ist, getrennt durch Punkte. Jeder 64-Bit-Wert wird mit bis zu 13 Zeichen angegeben. Gültige Buchstaben sind a bis z und die Zahlen 0 bis 9. Es sind keine Sonderzeichen zulässig.

Um Ihren eigenen Schlüssel anzugeben, öffnen Sie eine Eingabeaufforderung mit erhöhten Rechten auf dem Zielcomputer. Geben Sie den folgenden Befehl ein, wobei w.x.y.zdie IP-Adresse des Host-Computers, n Ihre Portnummer und Key Ihr Schlüssel ist:

bcdedit /dbgsettings net hostip:w.x.y.z port:n key:Key

Der Zielcomputer muss bei jeder Änderung der Dbgsettings neu gestartet werden.

Tipps zur Problembehandlung

Die Debugging-Anwendung muss über Firewalls zulässig sein.

Wenn Sie zum ersten Mal versuchen, eine Netzwerkdebuggingverbindung herzustellen, werden Sie möglicherweise aufgefordert, den Zugriff auf die Debugging-Anwendung (WinDbg oder KD) über die Firewall zuzulassen. Clientversionen von Windows zeigen die Eingabeaufforderung an, aber Serverversionen von Windows zeigen die Eingabeaufforderung nicht an. Sie sollten auf die Eingabeaufforderung reagieren, indem Sie die Kontrollkästchen für alle drei Netzwerktypen aktivieren: Domäne, privat und öffentlich.

Wenn Sie die Eingabeaufforderung nicht erhalten oder die Kontrollkästchen nicht aktiviert haben, wenn die Eingabeaufforderung verfügbar war, müssen Sie die Systemsteuerung verwenden, um den Zugriff über die Firewall zuzulassen. Öffnen Sie Systemsteuerung >, System und Sicherheit und wählen Sie App durch die Windows-Firewall zulassen.

  • (WinDbg) Suchen Sie in der Liste der Anwendungen den WinDbg-Modulprozess (TCP) (alle).

  • (WinDbg (Classic)) Suchen Sie in der Liste der Anwendungen Windows GUI Symbolic Debugger und Windows-Kerneldebugger.

Verwenden Sie die Kontrollkästchen, um diese Anwendungen über die Firewall zuzulassen. Scrollen Sie nach unten, und wählen Sie OK aus, um die Firewalländerungen zu speichern. Starten Sie den Debugger neu.

Die Portnummer muss sich im Bereich befinden, der von der Netzwerkrichtlinie zulässig ist.

Der Bereich der Portnummern, die für das Netzwerkdebugging verwendet werden können, kann durch die Netzwerkrichtlinie Ihres Unternehmens eingeschränkt werden. Um festzustellen, ob die Richtlinie Ihres Unternehmens den Bereich der Ports begrenzt, die für das Netzwerkdebugging verwendet werden können, wenden Sie sich an Ihren Netzwerkadministrator. Öffnen Sie auf dem Zielcomputer eine Eingabeaufforderung als Administrator, und geben Sie den Befehl bcdedit /dbgsettings ein. Die Ausgabe sieht etwa wie folgt aus:

C:\> bcdedit /dbgsettings
key                     XXXXXX.XXXXX.XXXXX.XXXXX
debugtype               NET
hostip                  169.168.1.1
port                    50085
dhcp                    Yes
The operation completed successfully.

In der vorherigen Ausgabe ist der Wert des Ports 50085. Wenn der Wert des Ports außerhalb des vom Netzwerkadministrator zulässigen Bereichs liegt, geben Sie den folgenden Befehl ein. Der Wert w.x.y.z ist die IP-Adresse des Hostcomputers, und YourDebugPort ist eine Portnummer im zulässigen Bereich.

bcdedit /dbgsettings net hostip:w.x.y.z port:YourDebugPort

Nachdem Sie die Debuggereinstellungen des Zielcomputers geändert haben, führen Sie den Debugger auf dem Hostcomputer mit der neuen Porteinstellung erneut aus, und starten Sie den Zielcomputer neu.

Verwenden Sie Ping, um die Konnektivität zu testen.

Wenn der Debugger keine Verbindung herstellt, verwenden Sie den Pingbefehl auf dem Ziel-PC, um die Konnektivität zu überprüfen.

C:\>Ping <HostComputerIPAddress>

Hinweis

Dies funktioniert möglicherweise nicht, wenn Ihr Hostcomputer nicht so konfiguriert ist, dass er im Netzwerk erkannt werden kann, da die Firewall Pinganforderungen möglicherweise blockiert. Wenn die Firewall Pinganforderungen blockiert, erhalten Sie beim Pingen des Hosts keine Antworten.

So ruft der Debugger eine IP-Adresse für den Zielcomputer ab

KDNET auf dem Zielcomputer versucht, das Dynamic Host Configuration Protocol (DHCP) zu verwenden, um eine routingfähige IP-Adresse für den Netzwerkadapter abzurufen, der für das Debuggen verwendet wird. Wenn KDNET eine DHCP-zugewiesene Adresse abruft, kann der Zielcomputer von Hostcomputern an einer beliebigen Stelle im Netzwerk gedebuggt werden. Wenn KDNET keine DHCP-zugewiesene Adresse abruft, wird die automatische private IP-Adressierung (APIPA) verwendet, um eine IP-Adresse für lokale Verknüpfungen abzurufen. Lokale Link-IP-Adressen sind nicht routingfähig, daher kann ein Host und Ziel keine IP-Adresse für lokale Links verwenden, um über einen Router zu kommunizieren. In diesem Fall funktioniert das Netzwerkdebugging, wenn Sie den Host- und Zielcomputer mit demselben Netzwerkhub oder Switch verbinden.

Angeben von Busparams beim Einrichten von KDNET auf einem physischen Computer mit einer PCI-basierten NIC

Wenn Sie KDNET auf einem physischen Computer mit einer PCI- oder PCIe-basierten NIC einrichten, sollten Sie immer die Busparameter für die NIC angeben, die Sie für KDNET verwenden möchten. Um die Busparameter anzugeben, öffnen Sie Geräte-Manager, und suchen Sie den Netzwerkadapter, den Sie für das Debuggen verwenden möchten. Öffnen Sie die Eigenschaftenseite des Netzwerkadapters und notieren Sie sich die Busnummer, Gerätenummer und Funktionsnummer, die unter Standort auf der Registerkarte Allgemein angezeigt wird. Geben Sie an einer Eingabeaufforderung mit erhöhten Rechten den folgenden Befehl ein, wobei b, d und f die Bus-, Geräte- und Funktionsnummern im Dezimalformat sind:

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

Wenn der Debugger auf dem Hostcomputer ausgeführt wird und auf die Verbindung wartet, starten Sie den Zielcomputer mit dem folgenden Befehl neu:

shutdown -r -t 0

Manuelles Löschen von BCDEdit-Einträgen

Das manuelle Löschen ist normalerweise nicht erforderlich, wird hier jedoch als Problembehandlungsverfahren für ungewöhnliche Situationen bereitgestellt.

Das manuelle Löschen von Einträgen ist bei Verwendung des kdnet-Dienstprogramms nicht erforderlich. Weitere Informationen finden Sie unter Automatisches Einrichten des KDNET-Netzwerkkernen-Debuggings.

Bei Verwendung bcdedit –deletevaluemüssen Sie einen gültigen bcd-Elementnamen angeben. Weitere Informationen finden Sie unter BCDEdit /deletevalue.

Führen Sie die folgenden Schritte aus, um bcdedit-Einträge manuell zu löschen:

  1. Öffnen Sie auf dem Zielcomputer eine Eingabeaufforderung als Administrator.

  2. Geben Sie beispielsweise den folgenden Befehl ein, um den BCDEdit-Debugging-Eintrag für die Host-IP-Adresse zu löschen:

    bcdedit -deletevalue {dbgsettings} hostip
    

Wenn Sie den Hostip löschen, müssen Sie target= in der Befehlszeile des Debuggers angeben.

  1. Löschen Sie als weiteres Beispiel den Porteintrag mithilfe des folgenden Befehls:

    bcdedit -deletevalue {dbgsettings} port
    

Wenn Sie den Porteintrag löschen, verwendet KDNET den standardmäßigen ICANN-registrierten Debuggerport von 5364.

Einrichten von Hyper-V

Wenn Sie die Hyper-V-Rolle auf dem Zielcomputer installieren möchten, lesen Sie Einrichten des Netzwerk-Debuggings eines virtuellen Computerhosts.

Informationen zum Debuggen eines virtuellen Hyper-V-Computers (VM) finden Sie unter Einrichten des Netzwerk-Debugging eines virtuellen Computers – KDNET.

Aktivieren von KDNET auf einem Hyper-V-Host, auf dem VMs mit externer Netzwerkkonnektivität ausgeführt werden

Manchmal tritt eine Situation auf, die dazu führt, dass Netzwerke in VMs nicht mehr funktionieren:

  • Hyper-V wurde auf dem PC aktiviert, ein externer Netzwerkschalter wurde erstellt und weist auf eine physische NIC auf dem Computer hin, und VMs wurden so konfiguriert, dass dieser externe Switch für ihr Netzwerk verwendet wird.

  • KDNET wird dann auf dem Hyper-V-Hostbetriebssystem unter Verwendung derselben physischen NIC aktiviert, auf die der externe Netzwerkswitch verweist. Der Host wird neu gestartet.

  • Alle VMs, die den zuvor konfigurierten externen Switch verwendet haben, verlieren ihre Netzwerkkonnektivität nach dem Neustart.

Diese Stoppseite ist beabsichtigt und geschieht, da KDNET die exklusive Kontrolle über die zu verwendende NIC übernimmt. Der native NDIS-Miniport für diese NIC wird nicht vom Betriebssystem geladen. Der externe Netzwerk-Switch kann dann nicht mehr mit dem systemeigenen NDIS-Miniporttreiber kommunizieren und funktioniert nicht mehr. Um diese Situation zu umgehen, gehen Sie wie folgt vor:

  1. Öffnen Sie den Virtual Switch Manager über Hyper-V-Manager, und wählen Sie Ihren vorhandenen virtuellen Switch aus. Ändern Sie die externe Netzwerk-NIC in den Microsoft Kernel Debug Network Adapter, indem Sie ihn im Dropdownmenü auswählen und dann im Dialogfeld Virtual Switch Manager OK auswählen.

  2. Nachdem Sie die Virtuelle Switch-NIC aktualisiert haben, fahren Sie ihre virtuellen Computer herunter, und starten Sie sie neu.

Wenn das KDNET-Debugging deaktiviert ist, muss dasselbe Verfahren befolgt werden, um den externen Switch wieder auf den systemeigenen NDIS-Miniport für die NIC zuzuweisen. Andernfalls geht die VM-Konnektivität verloren, wenn der Computer neu gestartet wird, nachdem das Debuggen deaktiviert wurde.

IPv6

IPv6-Unterstützung wurde in Windows-Version 1809 hinzugefügt.

Führen Sie die folgenden Schritte aus, um IPv6 mit dem Debugger zu verwenden:

  1. Pingen Sie Ihren <Debughostname> und notieren Sie sich die IPv6-Adresse, die in der Antwort von Ausgabezeilen gemeldet wird. Verwenden Sie diese IPv6-Adresse anstelle von x:y:z:p:d:q:r:n.

  2. Verwenden Sie BCDEdit, um vorhandene IP-Adresswerte in dbgsettings zu löschen.

    bcdedit -deletevalue {dbgsettings} hostip
    
  3. Legen Sie die IPv6-Adresse des Hosts fest. In der hostipv6=s:t:u:v:w:x:y:z-Zeichenfolge dürfen keine Leerzeichen vorhanden sein. <YourPort> ist die Netzwerkportnummer, die für diesen Zielcomputer verwendet werden soll. <YourKey> ist der vierteilige Sicherheitsschlüssel. <b.d.f> sind die Positionsnummern der Busgerätefunktion für die NIC, die Sie für KDNET verwenden möchten.

    bcdedit /dbgsettings net hostipv6:s:t:u:v:w:x:y:z port:<YourPort> key:<YourKey> busparams:<b.d.f>
    
  4. Geben Sie diesen Befehl ein, um zu bestätigen, dass die dbgsettings ordnungsgemäß festgelegt sind.

    C:\> bcdedit /dbgsettings
    busparams               0.25.0
    key                     2steg4fzbj2sz.23418vzkd4ko3.1g34ou07z4pev.1sp3yo9yz874p
    debugtype               NET
    hostipv6                  2001:db8:0:0:ff00:0:42:8329
    port                    50010
    dhcp                    Yes
    The operation completed successfully.
    
  5. Verwenden Sie auf dem Hostcomputer den folgenden Befehl, um den Debugger zu starten:

    Windbg -k net:port=<yournetworkportnumber>,key=<key_output_from_kdnet>,target=::<YourIPv6Address> 
    
  6. Wenn der Debugger auf dem Hostcomputer ausgeführt wird und auf die Verbindung wartet, starten Sie den Zielcomputer neu.

  7. Der Debugger sollte frühzeitig beim Start eine Verbindung mit dem Hostdebugger herstellen. Sie können sehen, dass KDNET eine IPv6-Verbindung verwendet, da die in der verbundenen Nachricht gemeldeten IP-Adressen IPv6-Adressen anstelle von IPv4-Adressen sind.

Hinweise

  • Jede Bcd-Einstellung des Debuggers, mit der hostip angegeben werden kann, weist ein entsprechendes hostipv6 Element auf. Es gibt drei.

    IPv4 IPv6 Verbrauch
    hostip hostipv6 Für das Start- und Kerneldebugging
    targethostip targethostipv6 Spezifisch für das Kerneldebugging
    hypervisorhostip hypervisorhostipv6 Für hyper-v-Debugging
  • Wenn Sie die hostipv6 Formatvorlage für eine dieser Arten von Debugging festlegen, bedeutet dies, dass Sie IPv6 erhalten möchten und erhalten.

  • Wenn Sie die hostip Formatvorlage für eine dieser Arten von Debugging festlegen, bedeutet dies, dass Sie IPv4 erhalten möchten und erhalten.

  • Das Ziel führt nur IPv4 oder IPv6 aus, nicht beide gleichzeitig. Die Version des verwendeten IP-Protokolls wird von den dbgsettings des Zielcomputers gesteuert. Wenn hostip festgelegt ist, verwendet das Ziel IPv4. Wenn hostipv6 festgelegt ist, verwendet das Ziel IPv6.

  • Der Hostdebugger wählt normalerweise die Verwendung von IPv4 oder IPv6 automatisch aus. Standardmäßig überwacht der Debugger sowohl einen IPv4-Socket als auch einen IPv6-Socket und stellt automatisch eine Verbindung mit dem Zielcomputer her.

  • Wenn Sie die Verwendung von IPv6 im Debugger auf dem Host erzwingen möchten, der Debugger jedoch eine Verbindung vom Ziel abhören soll, können Sie der Befehlszeile des Debuggers target=:: hinzufügen. :: ist eine IPv6-Adresse von 0.

  • Wenn Sie die Verwendung von IPv4-Debugging im Debugger auf dem Host erzwingen möchten, der Debugger jedoch eine Verbindung vom Ziel abhören soll, können Sie der Befehlszeile des Debuggers target=0.0.0.0 hinzufügen. 0.0.0.0 ist eine IPv4-Adresse von 0.

  • Wenn Sie in der Befehlszeile des Debuggers target=angeben und einen Computernamen verwenden, konvertiert der Debugger diesen Computernamen in eine IPv4-Adresse und eine IPv6-Adresse. Der Debugger versucht dann, eine Verbindung auf beidem herzustellen.

  • Wenn Sie in der Befehlszeile des Debuggers target= angeben und eine IP-Adresse verwenden, wenn die IP-Adresse jegliche : Zeichen enthält, geht der Debugger davon aus, dass es sich um eine IPv6-Adresse handelt, und erzwingt die Verwendung von IPv6 für diese Verbindung. Wenn die IP-Adresse jegliche. enthält, geht der Debugger davon aus, dass es sich um eine IPv4-Adresse handelt, und erzwingt die Verwendung von IPv4 für diese Verbindung.

  • Wenn Sie IPv6 für das Ziel einrichten und die Verwendung von IPv4 in der Befehlszeile des Debuggers erzwingen, erhalten Sie keine Verbindung.

  • Wenn Sie IPv4 für das Ziel einrichten und die Verwendung von IPv6 in der Befehlszeile des Debuggers erzwingen, erhalten Sie auch keine Verbindung.

Siehe auch