Configuración de la depuración automática

Los usuarios pueden configurar la depuración automática para ayudarles a determinar por qué su sistema o una aplicación han dejado de responder.

Configuración de la depuración automática para bloqueos del sistema

Para configurar el equipo de destino para generar un archivo de volcado de memoria cuando el sistema deje de responder, use la aplicación Sistema en Panel de control. Haga clic en Configuración avanzada del sistema, que muestra el cuadro de diálogo Propiedades del sistema. En la pestaña Avanzadas de ese cuadro, haga clic en Configuración en Inicio y recuperación y, a continuación, use las opciones de recuperación adecuadas. Como alternativa, puede configurar las opciones de volcado de memoria mediante la siguiente clave del Registro:

HKEY_LOCAL_MACHINE\SISTEMA\Currentcontrolset\Control\CrashControl

El archivo que puede especificar es el archivo de volcado de memoria. Su nombre predeterminado es Memory.dmp. Puede depurar un volcado de memoria con un depurador en modo kernel, como WinDbg o KD. Para obtener más información, consulte la documentación incluida con el depurador.

Configuración de la depuración automática para bloqueos de aplicación

Cuando una aplicación deja de responder (por ejemplo, después de una infracción de acceso), el sistema invoca automáticamente un depurador especificado en el Registro para la depuración posterior, el identificador de proceso y el identificador de evento se pasan al depurador si la línea de comandos está configurada correctamente. En el procedimiento siguiente se describe cómo especificar un depurador en el Registro.

Para establecer un depurador como depurador posterior

  1. Vaya a la siguiente clave del Registro:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\Currentversion\AeDebug

  2. Agregue o edite el valor del depurador mediante una cadena REG_SZ que especifica la línea de comandos del depurador.

    La cadena debe incluir la ruta de acceso completa al ejecutable del depurador. Indique el identificador de proceso y el identificador de eventos con los parámetros "%ld" en la línea de comandos del depurador. Los distintos depuradores pueden tener sus propias sintaxis de parámetros para indicar estos valores. Cuando se invoca el depurador, el primer "%ld" se reemplaza por el identificador de proceso y el segundo "%ld" se reemplaza por el identificador de evento.

    El texto siguiente es un ejemplo de cómo configurar WinDbg como depurador.

    "C:\debuggers\windbg.exe" -p %ld -e %ld -g
    
  3. Si desea que el depurador se invoque sin interacción del usuario, agregue o edite el valor Automático mediante una cadena de REG_SZ que especifique si el sistema debe mostrar un cuadro de diálogo al usuario antes de invocar al depurador. La cadena "1" deshabilita el cuadro de diálogo; la cadena "0" habilita el cuadro de diálogo.

Exclusión de una aplicación de la depuración automática

En el procedimiento siguiente se describe cómo excluir una aplicación de la depuración automática después de que el valor Auto en la clave AeDebug se haya establecido en 1.

Para excluir una aplicación de la depuración automática

  1. Vaya a la siguiente clave del Registro:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\Currentversion\AeDebug

  2. Agregue un valor de REG_DWORD a la subclave AutoExclusionList , donde el nombre es el nombre del archivo ejecutable y el valor es 1. De forma predeterminada, el Administrador de ventanas de escritorio (Dwm.exe) se excluye de la depuración automática porque, de lo contrario, se puede producir un interbloqueo del sistema si Dwm.exe deja de responder (el usuario no puede ver la interfaz mostrada por el depurador porque Dwm.exe no responde y Dwm.exe no puede finalizar porque el depurador lo mantiene).

    Windows Server 2003 y Windows XP: La subclave AutoExclusionList no está disponible; por lo tanto, no se puede excluir ninguna aplicación, incluida Dwm.exe, de la depuración automática.

Las entradas del Registro AeDebug predeterminadas se pueden representar de la siguiente manera:

HKEY_LOCAL_MACHINE
   SOFTWARE
      Microsoft
         Windows NT
            CurrentVersion
               AeDebug
                  Auto = 1
                  AutoExclusionList
                     DWM.exe = 1

Habilitación de la depuración postmortem con WinDbg