Análisis de los datos de la pantalla azul de comprobación de errores
Nota:
Este artículo va dirigido a programadores. Si es un cliente que ha recibido un código de error de pantalla azul mientras usa el equipo, consulte Solución de errores de pantalla azul.
Nota:
Si es profesional de TI o agente de soporte técnico, consulte Solución avanzada de problemas de errores de detención o de pantalla azul para obtener más información.
Recopilación de los parámetros de código de detención
Cada código de comprobación de errores tiene cuatro parámetros asociados que proporcionan información. Los parámetros se describen en Referencia de código de comprobación de errores para cada código de detención.
Hay varias maneras de recopilar los cuatro parámetros de código de detención.
Examine el registro del sistema de Windows en el Visor de eventos. Las propiedades del evento de la comprobación de errores mostrarán los cuatro parámetros de código de detención. Para obtener más información, consulte Apertura del visor de eventos.
Cargue el archivo de volcado generado y use el comando !analyze con el depurador asociado. Para obtener más información, consulte Análisis de un archivo de volcado en modo kernel con WinDbg.
Conecte un depurador de kernel al equipo con errores. Cuando se produce el código de detención, la salida del depurador incluirá los cuatro parámetros después del valor hexadecimal de código de detención.
******************************************************************************* * * * Bugcheck Analysis * * * ******************************************************************************* Use !analyze -v to get detailed debugging information. BugCheck 9F, {3, ffffe000f38c06a0, fffff803c596cad0, ffffe000f46a1010} Implicit thread is now ffffe000`f4ca3040 Probably caused by : hidusb.sys
Comprobación de errores de nombres simbólicos
DRIVER_POWER_STATE_FAILURE es el nombre simbólico de comprobación de errores, con un código de comprobación de errores asociado de 9F. El valor hexadecimal de código de detención asociado al nombre simbólico de comprobación de errores aparece en la referencia de código de comprobación de errores.
Lectura de la información de comprobación de errores del depurador
Si un depurador está conectado y la depuración está habilitada en el equipo, una comprobación de errores hará que el equipo de destino se interrumpa en el depurador. En este caso, es posible que la pantalla azul no aparezca inmediatamente. Los detalles completos de este bloqueo se enviarán al depurador y aparecerán en la ventana del depurador. Para ver esta información una segunda vez, use el comando .bugcheck (Mostrar datos de comprobación de errores) o el comando de extensión !analyze. Para obtener información sobre cómo habilitar la depuración, consulte Introducción a WinDbg (modo kernel).
Depuración de kernel y análisis de volcado de memoria
La depuración del kernel es especialmente útil cuando se producen errores en otras técnicas de solución de problemas o para un problema recurrente. Recuerde capturar el texto exacto en la sección de información de comprobación de errores del mensaje de error. Para aislar un problema complejo y desarrollar una solución viable, resulta útil registrar las acciones exactas que conducen al error.
La extensión de depuración !analyze indica información sobre la comprobación de errores y puede resultar útil para determinar la causa principal.
También puede establecer un punto de interrupción en el código que conduce a este código de detención e intentar avanzar un solo paso en el código con errores.
Vea los siguientes artículos para más información:
Análisis de volcado de memoria mediante los depuradores de Windows (WinDbg)
Análisis de un archivo de volcado en modo kernel con WinDbg
Uso de la extensión !analyze y !analyze
Presentaciones de las herramientas de desfragmentación
Uso del comprobador de controladores para recopilar información
Se estima que aproximadamente tres cuartos de pantallas azules se deben a controladores defectuosos. El Comprobador de controladores es una herramienta que se ejecuta en tiempo real para examinar el comportamiento de los controladores. Por ejemplo, el Comprobador de controladores comprueba el uso de recursos de memoria, como los grupos de memoria. Si encuentra errores en la ejecución del código de controlador, crea proactivamente una excepción para permitir que esa parte del código del controlador se examine aún más. El Administrador del comprobador de controladores está integrado en Windows y está disponible en todos los equipos Windows. Para iniciar el administrador del comprobador de controladores, escriba Verifier en un símbolo del sistema. Puede configurar qué controladores desea comprobar. El código que comprueba los controladores añade sobrecarga a medida que se ejecuta, así que intente comprobar el menor número de controladores posible. Para obtener más información, consulte Comprobador de controladores.
Consejos para ingenieros de software
Cuando se produce una comprobación de errores como resultado del código que ha escrito, debe usar el depurador de kernel para analizar el problema y, a continuación, corregir los errores en el código. Para obtener más información, consulte el código de comprobación de errores individual en la sección Referencia del código de comprobación de errores.
Sin embargo, es posible que también encuentre comprobaciones de errores que no sean causadas por su propio código. En este caso, probablemente no podrá corregir la causa real del problema, por lo que su objetivo debe ser solucionar el problema. Si es posible, aísle y quite el hardware o el componente de software erróneo.
Muchos problemas se pueden resolver a través de procedimientos básicos de solución de problemas, como comprobar instrucciones, volver a instalar componentes clave y comprobar las fechas del archivo. Además, el Visor de eventos, las herramientas de diagnóstico de Sysinternals y las herramientas de supervisión de red podrían aislar y resolver estos problemas.