Qué son los errores de excepción fatales

Seleccione idioma Seleccione idioma
Id. de artículo: 150314 - Ver los productos a los que se aplica este artículo
Este artículo se publicó anteriormente con el número E150314
Expandir todo | Contraer todo

En esta página

Resumen

Cuando intenta apagar el equipo, iniciar Windows o una aplicación en Windows, es posible que se encuentre con errores similares a los siguientes:
Excepción fatal XY ha ocurrido en xxxx:xxxxxxxx
Los errores de excepción fatal son códigos que devuelve un programa en los siguientes casos:
  1. Se ha producido un acceso a una instrucción ilegal
  2. Se ha producido un acceso a datos o código incorrectos
  3. El nivel de privilegios de una operación es incorrecto

Cuando se da uno de estos casos, el procesador devuelve una excepción al sistema operativo, que la trata como un error de excepción fatal. En muchos casos, la excepción no puede corregirse y es necesario reiniciar o cerrar el sistema, dependiendo de la gravedad del error.

En el ejemplo siguiente de un error de excepción fatal
Excepción fatal XY ha ocurrido en xxxx:xxxxxxxx

el valor XY representa la excepción real del procesador desde 00 hasta 0F (la h enumerada después de 0E, 0F, etc. en las explicaciones siguientes se suele omitir del mensaje de error). El valor xxxx:xxxxxxxx representa el puntero mejorado de instrucciones, que indica el código de segmento en cuestión, y la dirección de 32 bits es aquella en la que se ha producido la excepción.

Windows no causa estos errores, pero tiene la rutina de tratamiento de excepciones correspondiente a la excepción concreta del procesador, que muestra el mensaje anterior.

NOTA: Este artículo sólo tiene fines informativos. Para ir a la sección de solución de problemas de este artículo, haga clic en el vínculo siguiente.

Más información

A continuación se citan las excepciones de procesador y su definición:

00: Error de división

El procesador devuelve esta excepción cuando detecta un error de división. Un error de división se produce al intentar dividir entre cero o si el resultado de la operación no cabe en el operando de destino.



02: Interrupción de NMI

La interrupción 2 está reservada para la condición de interrupción no enmascarable de hardware. En la interrupción 2 no se produce captura de excepciones.



04: Captura de desbordamiento

La captura de desbordamiento se produce después de ejecutar una instrucción INTO y cuando el bit 0F está establecido como 1.

05: Error de comprobación de límites

La instrucción BOUND compara el índice de matriz con un límite superior e inferior. Si el índice está fuera del intervalo, el procesador capturará la interrupción 05.

06: Error de código de operador no válido

Este error se recibe cuando se cumple alguna de las condiciones siguientes:
  1. El procesador intenta descodificar un modelo de bits que no corresponde con ninguna instrucción válida del equipo
  2. El procesador intenta ejecutar una instrucción que contiene operandos no válidos
  3. El procesador intenta ejecutar una instrucción de modo protegido mientras está funcionando en modo virtual 8086.
  4. El procesador intenta ejecutar un prefijo LOCK con una instrucción que no se puede bloquear.

07: Error de coprocesador no disponible

Este error se produce si el equipo no tiene un coprocesador matemático y el bit EM del registro CR0 indica que se está utilizando la emulación del Procesador numérico de datos. Cada vez que se ejecuta una operación de signo flotante, se produce una interrupción 07.

Este error también se produce cuando se utiliza un coprocesador matemático y se ejecuta un conmutador de tareas. La interrupción 07 indica al procesador que es necesario guardar el estado actual del procesador para que pueda utilizarlo otra tarea.

08: Error doble

En algunas ocasiones, el procesamiento de una excepción desencadena una segunda excepción. En caso de que esto ocurra, el procesador emitirá una interrupción 08 correspondiente a un error doble.

09: Saturación del segmento del coprocesador

Este error se produce cuando una instrucción de signo flotante provoca un acceso a memoria que se ejecuta más allá del fin del segmento. Si la dirección de inicio del operando de signo flotante se halla fuera del segmento, se producirá un error de protección general (interrupción 0D).

10 (0Ah): Error de segmento de estado de tarea no válido

Puesto que el segmento de estado de tarea contiene una serie de descriptores, cualquier número de condiciones puede ocasionar la excepción 0A. En general, el procesador puede recopilar suficiente información del segmento de estado de tarea para emitir otro error que señale al problema real. Para obtener más información, consulte "Microsoft's Programming the 80386/80486 Guide".

11 (0Bh): Error no presente

La interrupción No presente permite al sistema operativo implementar memoria virtual mediante el mecanismo de segmentación. Cuando un segmento está marcado como "no presente", dicho segmento se envía al disco. El error de interrupción 0B se desencadena cuando una aplicación necesita acceso a dicho segmento.

12 (0Ch): Error de pila

El error de pila se produce con el código de error 0 si una instrucción hace referencia a la memoria más allá de los límites del segmento de pila. Si el sistema operativo admite segmentos expandibles, el problema debe resolverse al aumentar el tamaño de la pila. Si se carga el segmento de pila con descriptores no válidos se producirá un error de protección general.

13 (0Dh): Error de protección general

Cualquier condición que no esté cubierta por ninguna de las otras excepciones del procesador ocasionará un error de protección general. La excepción indica que este programa está dañado en la memoria, lo que suele dar como resultado la finalización inmediata de la aplicación.

14 (0Eh): Error de página

La interrupción de error de página permite al sistema operativo implementar memoria virtual página a página bajo petición. Generalmente, la interrupción 14 se emite cuando se produce el acceso a una entrada de un directorio o de una tabla de páginas cuyo bit presente está establecido como 0 (No presente). El sistema operativo convierte la página en presente (generalmente recupera la página de la memoria virtual) y vuelve a emitir la instrucción errónea, que ya tiene acceso al segmento. El error de página también se produce cuando se infringe una regla de protección de paginación (cuando la recuperación no funciona, los datos recuperados no son válidos o el código que emitió el error infringió la regla de protección para el procesador). En estos casos, el sistema operativo asume la responsabilidad de emprender la acción adecuada.



16 (10h): Error de coprocesador

Esta interrupción se lleva a cabo cuando una excepción de signo flotante sin enmascarar señala a una instrucción anterior. (Puesto que el procesador 80386 no tiene acceso a la Unidad de signo flotante, comprueba la patilla ERROR\ para probar esta condición.) También puede estar provocado por una instrucción WAIT si está establecido el bit Emular coprocesador matemático en CR0.

17 (11h): Error de comprobación de alineación

Esta interrupción se utiliza únicamente en las CPU 80486. La interrupción 17 se emite cuando el código que se ejecuta en el privilegio de anillo 3 intenta obtener acceso a un operando de palabra que no se halla en un límite de dirección par, un operando de dos palabras que no es divisible entre cuatro, o un valor long real o temp real cuya dirección no es divisible entre ocho. Cuando la CPU se enciende por primera vez y sólo está habilitada en modo protegido, la comprobación de alineación se deshabilita.

Solución de errores de excepción fatal

Debido a las diversas condiciones que pueden ocasionar un error de excepción fatal, el primer paso para resolverlo es estrechar el enfoque. Para estrechar el enfoque, pruebe a realizar un inicio limpio del equipo.

Inicio limpio

La solución de problemas con un inicio limpio se refiere a los métodos para reducir los problemas que puede causar el entorno de su equipo. Muchos de los problemas que surgen al ejecutar Windows o programas se producen por el conflicto de controladores, programas residentes en memoria (TSR) y otras configuraciones que se cargan al iniciar el equipo. Para obtener información adicional acerca de cómo realizar un inicio limpio del equipo, haga clic en los números de artículo siguientes para ver los artículos en Microsoft Knowledge Base:
192926 Cómo realizar la solución de problemas de inicio limpio en Windows 98
243039 How to Perform a Clean Boot in Windows 95 (Cómo realizar un inicio limpio en Windows 95)


Consulta de Microsoft Knowledge Base

Para saber si su mensaje de error está documentado en Microsoft Knowledge Base, siga estos pasos:
  1. Conéctese al sitio Web de Microsoft Support Online en: http://support.microsoft.com/support/
  2. Haga clic en el vínculo con Search the KB, en el vínculo Búsqueda avanzada y a continuación, haga clic en Windows 95, Windows 98 o Windows 98 Second Edition en el cuadro Mi consulta es sobre.
  3. Haga clic para seleccionar el tipo de consulta que desea realizar en el cuadro Quiero buscar por y después escriba una o varias palabras de consulta relacionadas con su problema en el cuadro Mi consulta es sobre. NOTA: Tal vez prefiera no utilizar la dirección exacta del mensaje de error al escribir las palabras de consulta. Quizá la dirección sea diferente en los distintos equipos, pero el problema puede ser el mismo. Por ejemplo, si recibe un mensaje de error con "IOS VXD", utilice las siguientes palabras de consulta: ios y vxd y fatal y excepción, y haga clic en Ir
  4. A continuación aparecerá una lista de artículos que contienen las palabras de consulta empleadas.
  5. Examine los títulos de los artículos para buscar temas relacionados con su problema.

Para obtener información adicional acerca de cómo consultar la información de Microsoft Knowledge Base, haga clic en los números de artículo siguientes para ver los artículos en Microsoft Knowledge Base:
242450 Cómo consultar Microsoft Knowledge Base mediante palabras clave

Más artículos acerca de los mensajes de error de excepción fatal

Para obtener información adicional acerca de los mensajes de error de excepción fatal, haga clic en los números de artículo siguientes para ver los artículos en Microsoft Knowledge Base:
133440 Mensaje de Error: Este programa ha provocado una Excepción fatal 0D...
192803 Fatal Exception 0D Using ATI All-in-Wonder Pro Video Adapter (Error de excepción fatal 0D al usar el adaptador de vídeo All-in-Wonder Pro de ATI)
175211 Fatal Exception Error When Opening or Closing Control Panel (Error de excepción fatal al abrir o cerrar el Panel de control)
171195 Fatal Exception Error Suspending and Resuming with MSDLC32 (Error de excepción fatal al suspender y reanudar con MSDLC32)
187214 A Fatal Exception 0E Has Occurred at 0028:C02A0201...(Se ha producido un error de excepción fatal 0E en 0028:C02A0201...)
190123 Error Message: A Fatal Exception 06 Has Occurred at...(Se ha producido un error de excepción fatal 06 en...)
252523 Fatal Exception Error When Attempting to Connect to the Internet (Error de excepción fatal al intentar conectarse a Internet)
189655 Err Msg: A Fatal Exception 0E Has Occurred at 0028:(Se ha producido un error de excepción fatal 0E en 0028:<XXXXXXXX>


NOTA: La lista anterior de artículos no es exhaustiva. Si alguno de los artículos enumerados anteriormente no trata su problema, utilice los pasos de la sección "Consulta de Microsoft Knowledge Base" de este artículo para encontrar más información.

Referencias

Microsoft's 80386/80486 Programming Guide, segunda edición

The Indispensable PC Hardware Book, segunda edición

Microsoft Press Computer Dictionary, segunda edición

Propiedades

Id. de artículo: 150314 - Última revisión: jueves, 10 de agosto de 2006 - Versión: 3.0
La información de este artículo se refiere a:
  • Microsoft Windows 98 Standard Edition
  • Microsoft Windows 95
  • Microsoft Windows 98 Second Edition
  • Microsoft Windows Millennium Edition
Palabras clave: 
win95 win98 KB150314

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com