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
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.
No prompt de comando do Windows PE, desabilite o firewall.
wpeutil disablefirewall
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).
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
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.
Mantenha pressionada a tecla Ctrl durante a inicialização antes que o prompt de comando seja mostrado. Um prompt de comando será exibido.
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
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.
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:
Inicie o Ambiente de Ferramentas de Implantação e Geração de Imagens como administrador.
Execute copype para criar uma cópia funcional dos arquivos do Windows PE.
copype amd64 d:\WinPE_amd64
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
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
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
Tópicos relacionados
Opções de Command-Line do Wpeutil
Referência deWinpeshl.ini: iniciando um aplicativo quando o WinPE é iniciado