Reparar error KMODE_EXCEPTION_NOT_HANDLED
0x0000001E
La comprobación de errores KMODE_EXCEPTION_NOT_HANDLED tiene un valor de 0x0000001E. Esto indica que un programa en modo kernel generó una excepción que el controlador de errores no detectó.
Para interpretar esta verificación de errores, debe identificar qué excepción se generó.
Los códigos de excepción comunes incluyen:
0x80000002: STATUS_DATATYPE_MISALIGNMENT
Se encontró una referencia de datos no alineada.
0x80000003: STATUS_BREAKPOINT
Se encontró un punto de interrupción o ASSERT cuando no se adjuntó ningún depurador de núcleo al sistema.
0xC0000005: STATUS_ACCESS_VIOLATION
Se produjo una violación de acceso a la memoria. (El parámetro 4 de la verificación de errores es la dirección a la que el controlador intentó acceder).
Para obtener una lista completa de los códigos de excepción, consulte Valores de NTSTATUS. Los códigos de excepción también se enumeran en el archivo ntstatus.h ubicado en el directorio inc del Kit de controladores de Windows.
Observaciones
Si no está equipado para depurar este problema, puede usar algunas técnicas básicas de resolución de problemas que se describen en Datos de pantalla azul. Si se identifica un controlador en el mensaje de verificación de error, deshabilítelo o consulte con el fabricante para obtener actualizaciones del controlador.
Incompatibilidad de hardware
Confirme que cualquier hardware nuevo que esté instalado sea compatible con la versión instalada de Windows. Por ejemplo, puede obtener información sobre el hardware requerido en las Especificaciones de Windows 10.
Controlador de dispositivo o servicio del sistema defectuoso.
Además, un controlador de dispositivo defectuoso o un servicio del sistema puede ser responsable de este error. Los problemas de hardware, como las incompatibilidades de BIOS, los conflictos de memoria y los conflictos de IRQ también pueden generar este error.
Si un controlador aparece por nombre en el mensaje de verificación de error, deshabilite o elimine ese controlador. Deshabilite o elimine los controladores o servicios que se agregaron recientemente. Si el error se produce durante la secuencia de inicio y la partición del sistema está formateada con el sistema de archivos NTFS, es posible que pueda usar el Modo seguro para deshabilitar el controlador en el Administrador de dispositivos.
Consulte el Registro del sistema en el Visor de eventos para obtener mensajes de error adicionales que puedan ayudar a identificar el dispositivo o el controlador que está causando la verificación de errores 0x1E. También debe ejecutar los diagnósticos de hardware, especialmente el escáner de memoria, suministrado por el fabricante del sistema. Para obtener detalles sobre estos procedimientos, consulte el manual del propietario de su computadora.
El error que genera este mensaje puede ocurrir después del primer reinicio durante la instalación de Windows o después de que finalice la instalación. Una posible causa del error es una incompatibilidad de BIOS del sistema. Los problemas del BIOS se pueden resolver actualizando la versión del BIOS del sistema.
Si planea depurar este problema, puede que le resulte difícil obtener un seguimiento de la pila. El parámetro 2 (la dirección de excepción) debe identificar el controlador o la función que causó este problema.
Si se produce el código de excepción 0x80000003, esto indica que se alcanzó un punto de interrupción o aserción codificado, pero el sistema se inició con el interruptor / NODEBUG. Este problema raramente debería ocurrir. Si esto ocurre repetidamente, asegúrese de que el depurador de kernel esté conectado y el sistema se inicie con el interruptor / DEBUG.
Si se produce el código de excepción 0x80000002, el marco de captura proporcionará información adicional.
Si se desconoce la causa específica de la excepción, se debe considerar lo siguiente:
Para obtener un seguimiento de pila si fallan los procedimientos normales de seguimiento de pila
Use el comando kb (Display Stack Backtrace) para mostrar los parámetros en el seguimiento de la pila. Busque la llamada a NT! PspUnhandledExceptionInSystemThread. (Si esta función no está en la lista, consulte la nota a continuación).
El primer parámetro de NT! PspUnhandledExceptionInSystemThread es un puntero a una estructura, que contiene punteros a una declaración de excepción:
C ++
typedef struct _EXCEPTION_POINTERS {
PEXCEPTION_RECORD ExceptionRecord;
PCONTEXT ContextRecord;
} EXCEPTION_POINTERS, * PEXCEPTION_POINTERS;
ULONG PspUnhandledExceptionInSystemThread (
EN PEXCEPTION_POINTERS ExceptionPoint
)
Use el comando dd (Memoria de pantalla) en esa dirección para mostrar los datos necesarios.
El primer valor recuperado es un registro de excepción y el segundo es un registro de contexto. Use el comando .exr (Mostrar registro de excepción) y el comando .cxr (Mostrar registro de contexto) con estos dos valores como sus argumentos, respectivamente.
Después de que se ejecute el comando .cxr, use el comando kb para mostrar un seguimiento de pila basado en la información del registro de contexto. Este seguimiento de pila indica la pila de llamada donde se produjo la excepción no controlada.
Nota Este procedimiento supone que puede localizar NT! PspUnhandledExceptionInSystemThread. Sin embargo, en algunos casos (como una falla de violación de acceso)
No hay comentarios
Comentarios