WinPE: Depurar Aplicativos

Você pode usar depuradores do Windows, como Ntsd.exe, Cdb.exe e Windbg.exe e ferramentas de suporte para depurar aplicativos no Windows PE e depurar o kernel do Windows PE. As ferramentas de depuração estão incluídas no SDK do Windows 10. Você deve disponibilizar as ferramentas de depuração no computador Windows PE copiando-as localmente ou usando-as de um compartilhamento.

Para depurar o Windows PE remotamente, talvez seja necessário desativar o firewall interno no computador:

wpeutil disablefirewall

Depuração no modo de usuário

O método de depuração do modo de usuário mais fácil é executar um servidor de processo no computador Windows PE e conectar-se a ele usando um depurador em outro computador. O servidor de processo está incluído nas ferramentas de depuração no SDK do Windows 10.

Para executar um servidor de processo no modo de usuário

  1. Copie a ferramenta Servidor de Processo de Depuração do Windows: dbgsrv.exe, da pasta Windows 10 ferramentas de depuração do SDK (exemplo: C:\Arquivos de Programas (x86)\Windows Kits\10.0\Depuradores\x64) para o computador Windows PE.

  2. No prompt de comando do Windows PE, desabilite o firewall.

    wpeutil disablefirewall
    
  3. Inicie o Servidor de Processo de Depuração do Windows, especificando um método de conexão para o computador, por exemplo, uma porta TCP:

    dbgsrv.exe -t tcp:port=1234
    

    Para obter mais informações, consulte Ativando um servidor de processo (Depuradores do Windows).

  4. No computador remoto, use o servidor de processo para anexar ou iniciar processos no computador de destino do Windows PE:

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

    Para obter mais informações, consulte Ativando um cliente inteligente (Depuradores do Windows).

Também é possível executar o depurador diretamente no computador Windows PE. No entanto, isso requer a configuração de caminhos de origem e símbolo após cada reinicialização do computador Windows PE. Recomendamos que você execute a depuração de um computador que executa uma versão completa do Windows, conforme descrito neste procedimento.

O procedimento de depuração a seguir é útil quando você deseja ignorar startnet.cmd ou setup.exe e prosseguir diretamente para um prompt de comando para fins de depuração. Esse procedimento ignora toda a inicialização, incluindo a instalação, e não executa comandos, como Wpeinit.exe. Esse procedimento deve ser executado online em um sistema operacional online.

Para habilitar a depuração no modo de usuário antes de qualquer inicialização

  1. Exclua o arquivo winpeshl.ini, se ele existir. Se o arquivo winpeshl.ini não existir, a depuração do modo de usuário poderá ser acessada por padrão.

  2. Mantenha pressionada a tecla Ctrl durante a inicialização antes que o prompt de comando seja mostrado. Um prompt de comando será exibido.

  3. Prossiga com a depuração.

Depuração no modo kernel

Para depurar no modo kernel, você deve habilitar a depuração no modo kernel antes que o sistema seja inicializado. O arquivo de configuração de inicialização tem uma configuração para depuração do modo kernel, que é habilitada usando a ferramenta de linha de comando bcdedit.exe para modificar o repositório BCD (Dados de Configuração de Inicialização). A depuração de kernel só pode ser executada usando bcdedit.exe. Bcdedit.exe está localizado no diretório \Windows\System32 da partição do Windows.

As configurações padrão do depurador são as seguintes:

identifier              {dbgsettings} 
debugtype               Serial 
debugport               1 
baudrate                115200

Para criar ISOs para ambientes de VM, habilite o kernel com entradas BCD antes de criar o ISO.

Para obter informações sobre como modificar o repositório BCD padrão (default.bcd), confira Como modificar o repositório BCD usando Bcdedit.

Para habilitar a depuração no modo kernel

  1. Localize o repositório BCD, que está contido em um arquivo chamado bcd. Esse arquivo está localizado no diretório de inicialização na raiz da mídia que contém a imagem do Windows PE.

  2. No prompt de comando, digite o seguinte comando bcdedit para definir o sinalizador de depuração do repositório BCD usado para inicializar a imagem como debug on:

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

    O {default} pode precisar ser substituído pelo UID (identificador exclusivo) da opção de inicialização do Windows PE.

    Como alternativa, você também pode habilitar a depuração de kernel pressionando F8 durante a inicialização e selecionando a opção de depuração.

    Nota Para usar um servidor de símbolos de dentro do Windows PE, use o net use comando nos símbolos e compartilhamentos de arquivos do servidor.

Para obter mais informações sobre opções de linha de comando que controlam a depuração, consulte Opções de Command-Line BCDEdit.

Para habilitar a depuração do modo kernel de rede

Em um computador técnico, execute os seguintes comandos para criar uma imagem do Windows PE com configurações de depuração do modo kernel de rede:

  1. Inicie o Ambiente de Ferramentas de Implantação e Geração de Imagens como administrador.

  2. Execute copype para criar uma cópia funcional dos arquivos do Windows PE.

    copype amd64 d:\WinPE_amd64
    
  3. Se o computador de destino for um sistema UEFI, execute os seguintes comandos (a porta e a chave a seguir são exemplos. PORT pode ser definido de 50000 a 50039. Para obter a chave, consulte Chave de criptografia:

    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 o computador de destino for um sistema BIOS herdado, execute os comandos a seguir (a porta e a chave a seguir são exemplos. PORT pode ser definido de 50000 a 50039. Para obter a chave, consulte Chave de criptografia:

    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. Use MakeWinPEMedia com a opção /ISO para criar um arquivo ISO contendo os arquivos do Windows PE, execute os seguintes comandos:

    makewinpemedia /iso d:\WinPE_amd64\winpe_x64_debug.iso
    

No computador de destino, comece com winpe_x64_debug.iso e execute o seguinte comando:

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

WinPE para Windows 10

WinPE: Montar e personalizar

Opções de Command-Line do Wpeutil

Referência deWinpeshl.ini: iniciando um aplicativo quando o WinPE é iniciado

Opções de Command-Line BCDEdit