WinPE: Depurar aplicaciones

Puede usar depuradores de Windows, como Ntsd.exe, Cdb.exe y Windbg.exe, y herramientas auxiliares para depurar aplicaciones en Windows PE y para depurar el kernel de Windows PE. Las herramientas de depuración se incluyen en el SDK de Windows 10. Debe hacer que las herramientas de depuración estén disponibles en el equipo con Windows PE copiandolas localmente o usándolas desde un recurso compartido.

Para depurar Windows PE de forma remota, es posible que deba desactivar el firewall integrado en el equipo:

wpeutil disablefirewall

Depuración en modo de usuario

El método de depuración en modo de usuario más sencillo es ejecutar un servidor de procesos en el equipo Windows PE y conectarse a él mediante un depurador en otro equipo. El servidor de procesos se incluye con las herramientas de depuración en el SDK de Windows 10.

Para ejecutar un servidor de procesos en modo de usuario

  1. Copie la herramienta Servidor de procesos de depuración de Windows: dbgsrv.exe, desde la carpeta de herramientas de depuración del SDK de Windows 10 (ejemplo: C:\Archivos de programa (x86)\Windows Kits\10.0\Debuggers\x64) en el equipo windows PE.

  2. En el símbolo del sistema de Windows PE, deshabilite el firewall.

    wpeutil disablefirewall
    
  3. Inicie el servidor de procesos de depuración de Windows, especificando un método de conexión al equipo, por ejemplo, un puerto TCP:

    dbgsrv.exe -t tcp:port=1234
    

    Para obtener más información, vea Activar un servidor de procesos (depuradores de Windows).

  4. Desde el equipo remoto, use el servidor de procesos para adjuntar o iniciar procesos en el equipo de destino de Windows PE:

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

    Para obtener más información, vea Activar un cliente inteligente (depuradores de Windows).

También es posible ejecutar el depurador directamente en el equipo Windows PE. Sin embargo, al hacerlo, es necesario configurar rutas de acceso de código fuente y símbolos después de cada reinicio del equipo Windows PE. Se recomienda realizar la depuración desde un equipo que ejecute una versión completa de Windows, como se describe en este procedimiento.

El siguiente procedimiento de depuración es útil cuando desea omitir startnet.cmd o setup.exe, y proceder directamente a un símbolo del sistema para fines de depuración. Este procedimiento omite toda la inicialización, incluida la configuración, y no ejecuta ningún comando, como Wpeinit.exe. Este procedimiento debe realizarse en línea en un sistema operativo en línea.

Para habilitar la depuración en modo de usuario antes de cualquier inicialización

  1. Elimine el archivo winpeshl.ini, si existe. Si el archivo winpeshl.ini no existe, se puede acceder a la depuración en modo de usuario de forma predeterminada.

  2. Mantenga presionada la tecla Ctrl durante el arranque antes de que se muestre el símbolo del sistema. Aparece un símbolo del sistema.

  3. Continúe con la depuración.

Depuración en modo kernel

Para depurar en modo kernel, debe habilitar la depuración en modo kernel antes de que se arranque el sistema. El archivo de configuración de arranque tiene una configuración para la depuración en modo kernel, que está habilitada mediante la herramienta de línea de comandos bcdedit.exe para modificar el almacén de datos de configuración de arranque (BCD). La depuración del kernel solo se puede realizar mediante bcdedit.exe. Bcdedit.exe se encuentra en el directorio \Windows\System32 de la partición de Windows.

La configuración predeterminada del depurador es la siguiente:

identifier              {dbgsettings} 
debugtype               Serial 
debugport               1 
baudrate                115200

Para crear ISO para entornos de máquina virtual, habilite el kernel con entradas BCD antes de crear la iso.

Para obtener información sobre cómo modificar el almacén BCD predeterminado (default.bcd), vea How to Modify the BCD Store Using Bcdedit.

Para habilitar la depuración en modo kernel

  1. Busque el almacén BCD, que se encuentra en un archivo denominado bcd. Este archivo se encuentra dentro del directorio de arranque en la raíz del medio que contiene la imagen de Windows PE.

  2. En el símbolo del sistema, escriba el siguiente comando bcdedit para establecer la marca de depuración del almacén bcD usado para arrancar la imagen en debug on:

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

    Es {default} posible que deba reemplazarse por el identificador único (UID) de la opción de arranque para Windows PE.

    Como alternativa, también puede habilitar la depuración del kernel presionando F8 durante el arranque y seleccionando la opción de depuración.

    Nota Para usar un servidor de símbolos desde Windows PE, use el net use comando en los símbolos y recursos compartidos de archivos del servidor.

Para obtener más información sobre las opciones de línea de comandos que controlan la depuración, vea BCDEdit Command-Line Opciones.

Para habilitar la depuración en modo kernel de red

En un equipo técnico, ejecute los siguientes comandos para crear una imagen de Windows PE con la configuración de depuración del modo kernel de red:

  1. Inicie el entorno de herramientas de implementación y creación de imágenes como un administrador.

  2. Ejecute copype para crear una copia en funcionamiento de los archivos de Windows PE.

    copype amd64 d:\WinPE_amd64
    
  3. Si el equipo de destino es un sistema UEFI, ejecute los siguientes comandos (el puerto siguiente y la clave son ejemplos. PORT se puede establecer de 50000 a 50039. Para obtener la clave, consulte Clave de cifrado):

    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. Si el equipo de destino es un sistema BIOS heredado, ejecute los siguientes comandos (el puerto y la clave siguientes son ejemplos. PORT se puede establecer de 50000 a 50039. Para obtener la clave, consulte Clave de cifrado):

    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 con la opción /ISO para crear un archivo ISO que contenga los archivos de Windows PE y ejecute los siguientes comandos:

    makewinpemedia /iso d:\WinPE_amd64\winpe_x64_debug.iso
    

En el equipo de destino, comience con winpe_x64_debug.iso y ejecute el siguiente comando:

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

WinPE para Windows 10

WinPE: Montaje y personalización

Opciones de Command-Line de Wpeutil

referencia deWinpeshl.ini: iniciar una aplicación cuando se inicia WinPE

Opciones de Command-Line BCDEdit