Freigeben über


Debuggen von Apps in Validation OS

Derzeit wird lediglich das Debuggen mit Windbg.exe und unterstützenden Tools zum Debuggen von Anwendungen unter Validation OS und dessen Kernel unterstützt. Debugtools sind im Windows SDK enthalten. Sie müssen die Debugtools auf dem Validation OS-Computer verfügbar machen, indem Sie sie lokal kopieren oder über eine Freigabe verwenden.

Debuggen im Benutzermodus

Die einfachste Debugmethode im Benutzermodus besteht darin, einen Prozessserver auf dem Validation OS-Computer auszuführen und ihn mithilfe eines Debuggers mit einem anderen Computer zu verbinden. Der Prozessserver ist mit den Debugtools im Windows SDK enthalten.

So führen Sie einen Prozessserver im Benutzermodus aus

  1. Kopieren Sie das Windows Debugging Process Server-Tool, dbgsrv.exe, aus dem Debugtool-Ordner Windows SDK (C:\Programme (x86)\Windows Kits\10.0\Debugger\x64) in den Validation OS-Computer.

  2. Starten Sie Windows Debugging Process Server, indem Sie eine Verbindungsmethode für den PC angeben, z. B. einen TCP-Port:

    dbgsrv.exe -t tcp:port=1234
    

    Hinweis

    Weitere Informationen finden Sie unter Aktivieren eines Prozessservers (Windows-Debugger).

  3. Verwenden Sie auf dem Remotecomputer den Prozessserver zum Anfügen oder Starten von Prozessen auf dem Validation OS-Zielcomputers:

    windbg -remote tcp:server=Server,port=1234
    

    Wichtig

    Es wird empfohlen, dass Sie das Debuggen von einem Computer ausführen, auf dem eine Vollversion von Windows ausgeführt wird, wie in diesem Verfahren beschrieben.

Debuggen im Kernelmodus

Das Debuggen im Kernelmodus kann entweder aktiviert werden, bevor das System gestartet wird, oder über die Eingabeaufforderung nach dem Starten, wobei ein Neustart erforderlich ist. Die Startkonfigurationsdatei enthält eine Einstellung für das Debuggen im Kernelmodus, die mit dem Befehlszeilentool bcdedit.exe aktiviert wird, um den Startkonfigurationsdatenspeicher zu ändern. Das Tool befindet sich im Verzeichnis „%windir%\System32“ der Windows-Partition.

  • Die Standarddebugeinstellungen lauten wie folgt:
    identifier              {dbgsettings} 
    debugtype               Serial 
    debugport               1 
    baudrate                115200
    

Aktivieren des Debuggens im Kernelmodus

Damit wird das Debuggen nur auf dem Validation OS-Rechner aktiviert. Anschließend muss der Unterstützungstyp (Netzwerk, USB-Kabel usw.) festgelegt werden.

  1. Erstellen Sie eine BIOS- oder EFI-Partition. Überspringen Sie diesen Schritt, wenn bereits vorhanden. Zuweisen eines Buchstabens zu dieser Partition (z. B. S:\). Erstellen Sie einen Startkonfigurationsdatenspeicher mit bcdboot.exe.

  2. Geben Sie an der Eingabeaufforderung den folgenden bcdedit-Befehl ein, um das Debugflag des Startkonfigurationsdatenspeichers festzulegen, der zum Starten des Images auf debug onverwendet wird:

    • Auf UEFI-Systemen
    bcdedit /store S:\EFI\Microsoft\Boot\BCD /set {default} debug on
    
    • Auf älterem BIOS-System
    bcdedit /store S:\Boot\BCD /set {default} debug on
    

    Hinweis

    Um diese Einstellung online zu ändern, entfernen Sie den Parameter store aus den vorherigen Befehlen, und starten Sie das System neu, um die Änderungen zu speichern.

    Hinweis

    Wenn Sie einen Symbolserver von Validation OS aus verwenden möchten, rufen Sie den Befehl net use für die Symbole und Dateifreigaben des Servers auf. Weitere Informationen zu Befehlszeilenoptionen, die das Debuggen steuern, finden Sie unter BCDEdit-Befehlszeilenoptionen.

Unterstützen des Netzwerkdebuggens im Kernelmodus

Führen Sie auf einem Techniker-PC die folgenden Befehle aus, um ein Validation OS-Image mit Kernelmodus-Debugeinstellungen zu erstellen.

  1. Aktivieren Sie das Debuggen im Kernelmodus wie zuvor beschrieben. Der Laufwerk S:\ wird als Speicherort der Systempartition für dieses Beispiel verwendet. Aktualisieren Sie es entsprechend.

  2. Führen Sie die folgenden Befehle aus, um das KD-Netzwerkdebuggen zu aktivieren. Aktualisieren Sie hostip mit der IP-Adresse des Host-PC, der WinDbg ausführt. PORT kann von 50000 auf 50039 festgelegt werden. Der Schlüssel wird automatisch generiert, wenn nicht festgelegt (empfohlen), oder Sie können einen benutzerdefinierten Schlüssel festlegen. Weitere Informationen finden Sie unter Verschlüsselungsschlüssel:

    • Auf UEFI-Systemen
    bcdedit /store S:\EFI\Microsoft\Boot\BCD /dbgsettings NET HOSTIP:xxx.xxx.xxx.xxx PORT:500xx key:x.x.x.x
    
    • Auf älterem BIOS-System
    bcdedit /store S:\Boot\BCD /dbgsettings NET HOSTIP:xxx.xxx.xxx.xxx PORT:500xx key:x.x.x.x
    
    • Führen Sie den folgenden Befehl im Host-PC aus, und starten Sie den Ziel-PC:
    windbg.exe -k net:port=500xx,key=x.x.x.x
    

    Hinweis

    Weitere Informationen zum Netzwerkdebuggen finden Sie unter Manuelles Einrichten des KDNET-Netzwerkkerneldebuggens.

Unterstützen des Debuggens im Kernelmodus über USB-Kabel

Führen Sie auf einem Techniker-PC die folgenden Befehle aus, um ein Validation OS-Image mit Kernelmodus-Debugeinstellungen zu erstellen.

  1. Erstellen Sie einen Startkonfigurationsdatenspeicher, und aktivieren Sie das Debuggen wie zuvor beschrieben. Verwenden Sie S:\ als Speicherort für die Systempartition. Aktualisieren Sie sie entsprechend.

  2. Führen Sie die folgenden Befehle aus, um das KD-Netzwerkdebuggen zu aktivieren. Aktualisieren Sie hostip mit der IP-Adresse des Host-PC, der WinDbg ausführt. PORT kann von 50000 auf 50039 festgelegt werden. Der Schlüssel wird automatisch generiert, wenn nicht festgelegt (empfohlen), oder Sie können einen benutzerdefinierten Schlüssel festlegen. Weitere Informationen finden Sie unter Verschlüsselungsschlüssel:

    • Auf UEFI-Systemen
    bcdedit /store S:\EFI\Microsoft\Boot\BCD /dbgsettings NET HOSTIP:169.254.255.255 PORT:500xx key:x.x.x.x busparams:x.x.x nodhcp
    
    • Auf älterem BIOS-System
    bcdedit /store S:\Boot\BCD /dbgsettings NET HOSTIP:169.254.255.255 PORT:500xx key:x.x.x.x busparams:x.x.x nodhcp
    
    • Führen Sie den folgenden Befehl im Host-PC aus, und starten Sie den Ziel-PC:
    windbg.exe -k net:port=500xx,key=x.x.x.x
    

    Hinweis

    Um die Busparameter zu erhalten, verwenden Sie kdnet.exe, verfügbar im Windows SDK. Folgen Sie den Anweisungen unter Verwenden von kdnet.exe zum Bestätigen der Geräteunterstützung und Anzeigen des busparams-Wertes.