WinPE: Eseguire il debug di app

È possibile usare debugger Windows, ad esempio Ntsd.exe, Cdb.exe e Windbg.exe, nonché strumenti di supporto per eseguire il debug di applicazioni in Windows PE e per eseguire il debug del kernel Windows PE. Gli strumenti di debug sono inclusi in Windows 10 SDK. È necessario rendere disponibili gli strumenti di debug nel computer Windows PE copiandoli in locale o usandoli da una condivisione.

Per eseguire il debug remoto di Windows PE, potrebbe essere necessario disattivare il firewall predefinito nel PC:

wpeutil disablefirewall

Debug in modalità utente

Il metodo di debug in modalità utente più semplice consiste nell'eseguire un server di elaborazione nel computer Windows PE e connettersi a esso usando un debugger in un altro computer. Il server di elaborazione è incluso negli strumenti di debug in Windows 10 SDK.

Per eseguire un server di elaborazione in modalità utente

  1. Copiare lo strumento Windows Debugging Process Server: dbgsrv.exe, dalla cartella degli strumenti di debug di Windows 10 SDK (ad esempio: C:\Programmi (x86)\Windows Kits\10.0\Debuggers\x64) al computer Windows PE.

  2. Al prompt dei comandi di Windows PE disabilitare il firewall.

    wpeutil disablefirewall
    
  3. Avviare il server di elaborazione di debug di Windows, specificando un metodo di connessione al PC, ad esempio una porta TCP:

    dbgsrv.exe -t tcp:port=1234
    

    Per altre informazioni, vedere Attivazione di un server di elaborazione (debugger Windows).

  4. Dal computer remoto, usare il server di elaborazione per collegare o avviare processi nel computer di destinazione Windows PE:

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

    Per altre informazioni, vedere Attivazione di un client intelligente (debugger Windows).

È anche possibile eseguire il debugger direttamente nel computer Windows PE. Tuttavia, questa operazione richiede la configurazione dei percorsi di simboli e di origine dopo ogni riavvio del computer Windows PE. È consigliabile eseguire il debug da un computer che esegue una versione completa di Windows, come descritto in questa procedura.

La procedura di debug seguente è utile quando si vuole ignorare startnet.cmd o setup.exe e passare direttamente a un prompt dei comandi a scopo di debug. Questa procedura ignora tutte le operazioni di inizializzazione, inclusa l'installazione, e non esegue comandi, ad esempio Wpeinit.exe. Questa procedura deve essere eseguita online su un sistema operativo online.

Per abilitare il debug in modalità utente prima di qualsiasi inizializzazione

  1. Eliminare il file winpeshl.ini, se esistente. Se il file di winpeshl.ini non esiste, è possibile accedere al debug in modalità utente per impostazione predefinita.

  2. Tenere premuto CTRL durante l'avvio prima che venga visualizzato il prompt dei comandi. Verrà visualizzato il prompt dei comandi.

  3. Procedere con il debug.

Debug in modalità kernel

Per eseguire il debug in modalità kernel, è necessario abilitare il debug in modalità kernel prima dell'avvio del sistema. Il file di configurazione di avvio ha un'impostazione per il debug in modalità kernel, che è abilitata usando lo strumento da riga di comando bcdedit.exe per modificare l'archivio dati di configurazione di avvio (BCD). Il debug del kernel può essere eseguito solo usando bcdedit.exe. Bcdedit.exe si trova nella directory \Windows\System32 della partizione di Windows.

Le impostazioni predefinite del debugger sono le seguenti:

identifier              {dbgsettings} 
debugtype               Serial 
debugport               1 
baudrate                115200

Per la creazione di ISO per gli ambienti vm, abilitare il kernel con voci BCD prima di creare l'ISO.

Per informazioni su come modificare l'archivio BCD predefinito (default.bcd), vedere Come modificare l'archivio BCD usando Bcdedit.

Per abilitare il debug in modalità kernel

  1. Individuare l'archivio BCD, contenuto in un file denominato bcd. Questo file si trova all'interno della directory di avvio nella radice del supporto contenente l'immagine di Windows PE.

  2. Al prompt dei comandi digitare il comando bcdedit seguente per impostare il flag di debug dell'archivio BCD usato per avviare l'immagine su debug on:

    bcdedit /store <path to winpe>/boot/bcd /set {default} debug on
    

    {default} Potrebbe essere necessario sostituire con l'identificatore univoco (UID) dell'opzione di avvio per Windows PE.

    In alternativa, è anche possibile abilitare il debug del kernel premendo F8 durante l'avvio e selezionando l'opzione di debug.

    Nota Per usare un server di simboli da Windows PE, usare il net use comando nei simboli e nelle condivisioni file del server.

Per altre informazioni sulle opzioni della riga di comando che controllano il debug, vedere BCDEdit Command-Line Options.For more information about command-line options that control debugging, see BCDEdit Command-Line Options.

Per abilitare il debug in modalità kernel di rete

In un PC tecnico eseguire i comandi seguenti per creare un'immagine Di Windows PE con le impostazioni di debug in modalità kernel di rete:

  1. Avvia l'ambiente degli strumenti di distribuzione e creazione immagini come amministratore.

  2. Eseguire copype per creare una copia funzionante dei file di Windows PE.

    copype amd64 d:\WinPE_amd64
    
  3. Se il PC di destinazione è un sistema UEFI, eseguire i comandi seguenti (la porta e la chiave seguenti sono esempi. PORT può essere impostato da 50000 a 50039. Per la chiave, vedere Chiave di crittografia:

    bcdedit /store d:\WinPE_amd64\media\EFI\Microsoft\Boot\BCD /set {default} debug on
    bcdedit /store d:\WinPE_amd64\media\EFI\Microsoft\Boot\BCD /set {default} bootdebug on
    bcdedit /store d:\WinPE_amd64\media\EFI\Microsoft\Boot\BCD /dbgsettings NET HOSTIP:xxx.xxx.xxx.xxx PORT:50005 key:5.5.5.5
    
  4. Se il PC di destinazione è un sistema BIOS legacy, eseguire i comandi seguenti (la porta e la chiave seguenti sono esempi. PORT può essere impostato da 50000 a 50039. Per la chiave, vedere Chiave di crittografia:

    bcdedit /store d:\WinPE_amd64\media\Boot\BCD /set {default} debug on
    bcdedit /store d:\WinPE_amd64\media\Boot\BCD /set {default} bootdebug on
    bcdedit /store d:\WinPE_amd64\media\Boot\BCD /dbgsettings NET HOSTIP:xxx.xxx.xxx.xxx PORT:50005 key:5.5.5.5
    
  5. Usare MakeWinPEMedia con l'opzione /ISO per creare un file ISO contenente i file windows PE, eseguire i comandi seguenti:

    makewinpemedia /iso d:\WinPE_amd64\winpe_x64_debug.iso
    

Nel PC di destinazione iniziare con winpe_x64_debug.iso ed eseguire il comando seguente:

windbg.exe -k net:port=50005,key=5.5.5.5

WinPE per Windows 10

WinPE: montaggio e personalizzazione

Opzioni di wpeutil Command-Line

riferimentoWinpeshl.ini: Avvio di un'app all'avvio di WinPE

Opzioni di Command-Line BCDEdit