Windows detiene el error KMODE_EXCEPTION_NOT_HANDLED

Antes de determinar la causa de este error, debe identificar la excepción. Tres códigos de excepción comunes son:

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 un acceso a memoria violado.

El parámetro 4 (arriba) es la dirección a la que el controlador intentó acceder.

Una lista completa de códigos de excepción se encuentra en el archivo ntstatus.h, en el directorio inc del Kit de controladores de Windows.

Solución de problemas básicos y solución

En un nivel más básico, debe comenzar con estos pasos básicos de solución de problemas.

  • Si el controlador está en falta, desactívelo o compruebe si hay actualizaciones de controladores.
  • Intente cambiar la tarjeta de video en la computadora para ver si el problema se ha resuelto.
  • Consulte el sitio web del fabricante de la placa base para obtener una actualización de la BIOS.
  • Acceda a la BIOS y desactive el almacenamiento en memoria caché o el sombreado de la memoria.

Si su problema no se resuelve, intente comparar cualquier hardware instalado recientemente con la lista de Productos probados de Windows Marketplace para verificar que sea compatible con su versión de Windows.

Si un controlador de dispositivo es defectuoso, puede ser necesario acceder al entorno del Modo seguro presionando F8 en el teclado cuando la computadora se está iniciando (antes de ingresar a Windows). Seleccione Modo seguro en el menú de inicio cuando se muestre. En Modo seguro, puede eliminar el controlador del dispositivo defectuoso y reiniciar la computadora. Continúe con la instalación de un controlador actualizado, si hay uno disponible.

También puede consultar el Registro del sistema en el Visor de eventos para ver si hay mensajes de error. Estos mensajes de error pueden ayudar a identificar la fuente del problema.

Solución de problemas complejos

Se pueden tomar pasos adicionales y más complejos de resolución de problemas si las soluciones anteriores no resuelven el problema. Estos pasos implican acceder a un seguimiento de pila para determinar la causa del problema.

Para obtener un seguimiento de pila, siga estos pasos:

  1. Ejecute el comando kb ( Display Stack Backtrace ) para mostrar los parámetros en el seguimiento de la pila. ¡Busque una llamada a NT! PspUnhandledExceptionInSystemThread.
  2. El primer parámetro de la llamada apunta a una estructura, que contiene punteros adicionales a una declaración de excepción:

    Ejecute el comando dd ( Memoria de pantalla ) en la dirección para recuperar y mostrar la información apropiada.

  3. Ejecute los comandos .exr ( Mostrar registro de excepción ) y .cxr ( Mostrar registro de contexto ) utilizando los dos valores recuperados en el paso anterior como argumentos para los comandos.
  4. Después de ejecutar el comando .cxr, use el comando kb para ver el seguimiento de la pila en función de los datos del registro de contexto. El seguimiento de la pila indicará dónde se produjo la excepción no controlada.

Si no puede encontrar la llamada en el Paso 1, busque ntoskrnl! KiDispatchException en su lugar. Usando la dirección del marco de captura (el tercer parámetro), ejecute el comando .trap ( Mostrar marco de captura) para establecer el contexto de registro en el valor apropiado para ejecutar los seguimientos de pila y otros comandos.