Freigeben über


Manuelles Debuggen des KDNET-Netzwerk-Kernels

In diesem Artikel erfahren Sie, wie Sie das KDNET-Netzwerkkernkerndebugging mithilfe von Debugtools für Windows manuell einrichten. Sie konfigurieren sowohl Host- als auch Zielcomputer, um das Netzwerkdebugging zu aktivieren.

Wichtig

Manuelle Netzwerkdebuggingeinrichtung ist komplex und fehleranfällig. Verwenden Sie für die meisten Szenarien das automatische Setup stattdessen:Einrichten desKDNET-Netzwerkkernkerndebuggings automatisch. Das KDNET-Hilfsprogramm wird dringend empfohlen.

Lerninhalt:

  • Konfigurieren von Host- und Zielcomputern für das Netzwerkdebugging
  • Einrichten und Fehlerdiagnose von Debugging-Verbindungen
  • Gründe für die Verwendung von IPv6 und IPv4 für das Debuggen

Der Computer, auf dem der Debugger ausgeführt wird, wird als Hostcomputerbezeichnet, und der computer, der gedebuggt wird, wird als Zielcomputerbezeichnet. 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 zu debuggen.
  • Bei zwei beliebigen 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

Host-Computer: Jeder Netzwerkadapter funktioniert.

Zielcomputer: Muss einen unterstützten Netzwerkadapter verwenden. Überprüfen Sie Ihre Windows-Version:

Installieren von Debugging-Tools für Windows

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

Ermitteln der IP-Adresse des Hostcomputers

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>
    

Auswählen eines Ports für das Netzwerkdebugging

Empfohlener Portbereich: 50000-50039

Sie können jeden Port von 49152-65535 verwenden, aber der empfohlene Bereich bietet die beste Kompatibilität. Der Debugger verwendet diesen Port ausschließlich, stellen Sie daher sicher, dass keine anderen Anwendungen ihn verwenden.

Wichtige Überlegungen

  • Unternehmensfirewalls können Portbereiche einschränken. Wenden Sie sich an Ihren Netzwerkadministrator.
  • Jeder Zielcomputer benötigt einen eindeutigen Port (z. B. 50000, 50001, 50002).
  • Verschiedene Hostcomputer können denselben Portbereich wiederverwenden.

Anmerkung

Die Netzwerkrichtlinie Ihres Unternehmens kann die verfügbaren Ports einschränken. Wenden Sie sich an Ihre Netzwerkadministratoren, wenn Verbindungsprobleme auftreten.

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.

Anmerkung

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

Richten Sie den Zielcomputer ein

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

  2. Verbinden Sie den unterstützten Adapter mit einem Netzwerkhub oder Switch mithilfe eines entsprechenden Netzwerkkabels.

Wichtig

Bevor Sie BCDEdit zum Ändern der Startinformationen verwenden, müssen Sie möglicherweise windows-Sicherheitsfeatures wie BitLocker und sicherer Start 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. Ersetzen Sie w.x.y.z durch die IP-Adresse Ihres Hostcomputers und n durch Die gewählte Portnummer:

    bcdedit /debug on
    bcdedit /dbgsettings net hostip:w.x.y.z port:n
    

    Beispiel:

    bcdedit /debug on
    bcdedit /dbgsettings net hostip:192.168.1.100 port:50000
    
  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 Debugsitzung 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.

Anmerkung

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

Vorsicht

Wenn sich Ihr Zielcomputer in einer Dockingstation befindet und Sie das Netzwerkdebugging für einen Netzwerkadapter aktivieren, 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 Kerneldebugging. Um das Kerneldebugging auf dem Zielcomputer zu deaktivieren, öffnen Sie eine Eingabeaufforderung als Administrator, und geben Sie den Befehl bcdedit /debug offein. Starten Sie den Zielcomputer neu.

Starten der Debugsitzung

Bevor Sie beginnen: Stellen Sie sicher, dass der Netzwerkadapter des Hostcomputers mit einem Netzwerkhub oder Switch verbunden ist.

Option 1: Verwenden von WinDbg (GUI)

  1. Öffnen Sie WinDbg auf dem Hostcomputer.
  2. Wählen Sie Datei>Kernel-Debuggen aus.
  3. Öffnen Sie die Registerkarte "Net ".
  4. Geben Sie Ihre Portnummer und Ihren Schlüssel ein.
  5. Wählen Sie OKaus.

Option 2: Verwenden von WinDbg (Befehlszeile)

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, den BCDEdit beim Einrichten des Zielcomputers automatisch generiert hat:

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 Sie 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, den BCDEdit beim Einrichten des Zielcomputers automatisch generiert hat:

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.

Wenn der Debugger eine Verbindung herstellt und wartet, starten Sie den Zielcomputer neu. Eine Möglichkeit, den PC neu zu starten, besteht darin, diesen Befehl in der Eingabeaufforderung eines Administrators zu verwenden:

shutdown -r -t 0

Wenn das Ziel neu gestartet wird, verbindet sich der Debugger im Hostbetriebssystem.

Nachdem Sie eine Verbindung mit dem Zielsystem auf dem Host hergestellt haben, setzen Sie einen Haltepunkt im Debugger, 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 Debuganwendung (WinDbg oder KD) über die Firewall zuzulassen. Clientversionen von Windows zeigen die Eingabeaufforderung an, aber Serverversionen von Windows zeigen die Eingabeaufforderung nicht an. Reagieren Sie auf die Eingabeaufforderung, indem Sie die Kontrollkästchen für alle drei Netzwerktypen aktivieren: Domäne, Privat und öffentlich.

Wenn Sie die Eingabeaufforderung nicht erhalten oder wenn Sie die Kontrollkästchen nicht aktiviert haben, wenn die Eingabeaufforderung verfügbar war, verwenden Sie die Systemsteuerung, um den Zugriff über die Firewall auf dem Host-PC zu ermöglichen, 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 Debuganwendung (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. Verwenden Sie einen automatisch generierten Verschlüsselungsschlüssel (bereitgestellt von BCDEdit, wenn Sie den Zielcomputer konfigurieren). Ein automatisch generierter Verschlüsselungsschlüssel ist sicherer und bietet einen eindeutigen Wert, den Sie zum Herstellen der Verbindung mit einem bestimmten Ziel verwenden.

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 Zeichen sind die Buchstaben a bis z und die Ziffern 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.z die IP-Adresse des Hostcomputers ist, n Ihre Portnummer ist, und Schlüssel 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

Zulassen der Debuganwendung über Firewalls

Wenn Sie zum ersten Mal versuchen, eine Netzwerkdebuggingverbindung herzustellen, werden Sie möglicherweise aufgefordert, den Zugriff auf die Debuganwendung (WinDbg oder KD) über die Firewall zuzulassen. Clientversionen von Windows zeigen die Eingabeaufforderung an, aber Serverversionen von Windows zeigen die Eingabeaufforderung nicht an. Reagieren Sie auf die Eingabeaufforderung, 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 innerhalb des von der Netzwerkpolitik erlaubten Bereichs liegen.

Die Netzwerkrichtlinie Ihres Unternehmens kann den Bereich der Portnummern einschränken, die Sie für das Netzwerkdebugging verwenden können. Wenn Sie herausfinden möchten, ob die Richtlinie Ihres Unternehmens den Bereich der Ports für das Netzwerkdebugging begrenzt, 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 in etwa wie das folgende Beispiel 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 sich der Portwert außerhalb des vom Netzwerkadministrator zulässigen Bereichs befindet, 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 von Ping zum Testen der Konnektivität

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

C:\>Ping <HostComputerIPAddress>

Anmerkung

Diese Methode 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, können Host-Computer im gesamten Netzwerk den Zielcomputer debuggen. Wenn KDNET keine DHCP-zugewiesene Adresse abrufen kann, wird die automatische private IP-Adressierung (APIPA) verwendet, um eine lokale Link-IP-Adresse 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 an denselben Netzwerkhub oder -switch anschließen.

Geben Sie immer Busparameter an, wenn Sie KDNET auf einem physischen Computer mit einer PCI-basierten Netzwerkkarte einrichten.

Wenn Sie KDNET auf einem physischen Computer mit einer PCI- oder PCIe-basierten NIC einrichten, geben Sie immer die Busparame für die NIC an, die Sie für KDNET verwenden möchten. Um die Busparameter anzugeben, öffnen Sie den Geräte-Manager, und suchen Sie den Netzwerkadapter, den Sie für das Debuggen verwenden möchten. Öffnen Sie die Eigenschaftenseite für den Netzwerkadapter, und notieren Sie sich die Busnummer, die Gerätenummer und die Funktionsnummer, die auf der Registerkarte "Allgemein" unter "Position" angezeigt wird. Geben Sie in 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

Normalerweise müssen Sie BCDEdit-Einträge nicht manuell löschen. Sie können dieses Verfahren jedoch verwenden, um ungewöhnliche Situationen zu beheben.

Sie müssen Einträge nicht manuell löschen, wenn Sie das kdnet-Hilfsprogramm verwenden. 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-Debugeintrag 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, siehe Netzwerk-Debugging eines virtuellen Maschinenhosts einrichten.

Informationen zum Debuggen eines Hyper-V virtuellen Computers (VM) finden Sie unter Einrichten des Netzwerkdebuggings 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:

  • Sie aktivieren Hyper-V auf dem PC, erstellen einen externen Netzwerkswitch, der auf eine physische NIC auf dem Computer verweist, und konfigurieren VMs für die Verwendung dieses externen Switches für ihr Netzwerk.

  • Sie aktivieren KDNET auf dem Hyper-V Hostbetriebssystem, indem Sie dieselbe physische NIC verwenden, auf die der externe Netzwerkschalter verweist. Sie starten den Host neu.

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

Diese Unterbrechung ist beabsichtigt. KDNET übernimmt exklusive Kontrolle über die zu verwendende NIC. Das Betriebssystem lädt den nativen NDIS-Miniport für diese NIC nicht. Der externe Netzwerkschalter kann nicht mehr mit dem systemeigenen NDIS-Miniporttreiber kommunizieren und funktioniert nicht mehr. Führen Sie die folgenden Schritte aus, um diese Situation zu umgehen:

  1. Öffnen Sie den Virtuellen Switch-Manager aus Hyper-V-Manager, und wählen Sie Ihren vorhandenen virtuellen Switch aus. Ändern Sie die externe Netzwerk-NIC zu dem Microsoft Kernel Debug Network Adapter, indem Sie ihn im Dropdown-Menü auswählen und dann im Dialogfeld des "Virtual Switch Managers" OK auswählen.

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

Wenn Sie das KDNET-Debugging deaktivieren, führen Sie dasselbe Verfahren aus, um den externen Switch wieder auf den systemeigenen NDIS-Miniport für die NIC zu setzen. Andernfalls geht die VM-Konnektivität verloren, wenn Sie den Computer neu starten, nachdem das Debuggen deaktiviert wurde.

IPv6

Windows Version 1809 bietet Unterstützung für IPv6.

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. Die hostipv6=s:t:u:v:w:x:y:z Zeichenfolge darf keine Leerzeichen enthalten. <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 verbindet sich frühzeitig während des Starts mit dem Hostdebugger. 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.

Notizen

  • Jede Debugger-BCD-Einstellung, mit der Sie hostip angeben können, hat ein entsprechendes hostipv6-Element. Es gibt drei Paare.
IPv4 IPv6 Verwendung
hostip hostipv6 Für das Start- und Kerneldebugging
targethostip targethostipv6 Spezifisch für das Kerneldebugging
hypervisorhostip hypervisorhostipv6 Beim Debuggen in Hyper-V
  • Wenn Sie die hostipv6 Formatvorlage für eine dieser Arten von Debugging festlegen, erhalten Sie IPv6.

  • Wenn Sie die hostip Formatvorlage für eine dieser Arten von Debugging festlegen, erhalten Sie IPv4.

  • Das Ziel unterstützt nur IPv4 oder IPv6, nicht gleichzeitig beide. Die Version des verwendeten IP-Protokolls wird von den dbgsettings des Zielcomputers gesteuert. Wenn Sie festlegen hostip, verwendet das Ziel IPv4. Wenn Sie festlegen hostipv6, 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 und der Debugger eine Verbindung vom Ziel anhören soll, können Sie target=:: zur Debugging-Befehlszeile hinzufügen. :: ist eine IPv6-Adresse mit dem Wert 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 mit dem Wert 0.

  • Wenn Sie target= in der Befehlszeile des Debuggers 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 target= auf der Befehlszeile des Debuggers angeben und eine IP-Adresse verwenden, die ein :-Zeichen enthält, geht der Debugger davon aus, dass es sich um eine IPv6-Adresse handelt, und erzwingt die Nutzung von IPv6 für diese Verbindung. Wenn die IP-Adresse eines der Zeichen . enthält, geht der Debugger davon aus, dass es sich um eine IPv4-Adresse handelt; er erzwingt dann 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.