Comprensión profunda de Vista: solución de problemas mejorada

  
                  

Debido al error del controlador del dispositivo, el problema del hardware o el sistema operativo en sí, cuando el sistema encuentra un error de modo de núcleo no recuperable, Windows mostrará la notoria "pantalla azul de la muerte" y, a continuación, cerrará el sistema por la fuerza. Para evitar conflictos de datos en el disco, parte o toda la memoria física también se escribe en un archivo de volcado de caída en función de la configuración del sistema. Los archivos de volcado de memoria son útiles porque cuando reiniciamos el sistema después de un bloqueo, el Servicio de análisis de fallas en línea (OCA) de Microsoft puede analizarlo para encontrar la fuente del problema. Si lo desea, puede usar las herramientas de depuración de Microsoft para Windows para realizar el análisis de fallas usted mismo.

Comentario de la vasija: para obtener información sobre cómo usar la herramienta de depuración para analizar fallas del sistema, puede consultar el webcast de Zhang Yinkui.

Sin embargo, en la versión anterior de Windows, la compatibilidad con el archivo de volcado se puede habilitar hasta que el proceso del administrador de sesión (% Systemroot% Sys ­ tem32Smss.exe) inicialice el archivo de la página. Es decir, antes de esto, si se produce un fallo grave del sistema y el sistema es de pantalla azul, no se generará el archivo de volcado. Una gran cantidad de controladores de dispositivo se inicializan antes de que comience el proceso de Smss.exe, por lo que las fallas tempranas del sistema no activan la creación de archivos de volcado, por lo que es muy difícil solucionar estos errores.

Comentario de Potasian: para la introducción del proceso de inicio de Windows 2000 /XP, puede consultar el webcast de Zhang Yinkui.

Y Windows Vista avanzó en gran medida el tiempo que lleva crear un archivo de volcado. Ahora, después de que se inicien todos los controladores con el tipo de inicio "boot", se puede inicializar la compatibilidad con los archivos de volcado antes de que se inicien todos los controladores con el tipo de inicio "system". Con esta mejora, cuando nos encontramos con un bloqueo en la fase de inicio del sistema, los servicios de Microsoft OCA pueden ayudar a diagnosticar este problema. Además, Windows Vista llena el archivo de volcado con un nivel de bloque de 64 KB, mientras que la versión anterior de Windows está en 4 KB. Tal archivo de volcado de memoria de gran capacidad se puede generar a una velocidad diez veces mayor.

Comentario de Potasian: el tipo de inicio es "boot", que se refiere al controlador cargado por ntldr o al administrador de inicio. Estos controladores son importantes, y Windows no podrá continuar el arranque si no se inicia. El tipo de inicio es "sistema", que se refiere al controlador que se inicia durante la inicialización del kernel.

En Windows Vista, la solución de problemas de aplicaciones también se ha mejorado. En versiones anteriores de Windows, cuando una aplicación falla, se ejecuta un controlador de excepciones no manejado para manejar esta excepción que no se puede manejar correctamente. El controlador de excepciones carga el proceso de Informe de errores de aplicación (AER) de Microsoft (% Systemroot% System32Dwwin.exe) y muestra un cuadro de diálogo que le indica al programa que no funciona y le pregunta si necesita enviar el informe de errores a Microsoft. Sin embargo, si el proceso se bloquea y la pila del hilo principal está dañada, el controlador de excepciones se bloqueará en el momento de la ejecución, lo que provocará que el kernel finalice su proceso. Como resultado, la ventana del programa parpadea y no se muestra ningún cuadro de diálogo de informe de errores.

Windows Vista elimina el manejo de errores del contexto del proceso de bloqueo y lo maneja con un nuevo servicio, el servicio de Informe de errores de Windows (WER). El servicio se ejecuta en el proceso del host del servicio y se implementa como un archivo DLL (% Sys ­ temroot% System32Wersvc.dll). Cuando la aplicación falla, todavía ejecuta el controlador de excepciones, pero el controlador de excepciones envía un mensaje al servicio WER, y el servicio WER carga el proceso de informe de errores WER (% Systemroot% System32 Werfault.exe) para mostrar el informe de errores. Diálogo Si el controlador de excepciones se bloquea porque la pila del hilo principal se destruye, el controlador de excepciones ejecutará repetidamente el bloqueo, la ejecución de errores y finalmente consumirá todo el espacio de la pila del hilo. Cuando el kernel se encuentre en este estado, servirá al WER. Enviar un mensaje de notificación de error.

Comentario de Potasian: el proceso de host de servicio se refiere al proceso de svchost.

Podemos ver una comparación de los dos métodos de implementación en las siguientes cuatro imágenes. Estas imágenes muestran la relación entre el proceso Accvio.exe y el proceso de informe de errores. El proceso Accvio.exe es un programa de prueba de fallas que puede provocar un bloqueo de la aplicación. El nuevo mecanismo de manejo de errores en Windows Vista significa que las aplicaciones ya no se detienen silenciosamente, lo que nos impide enviar informes de errores a Microsoft para ayudar a los desarrolladores de software a mejorar sus productos.

Control de errores de la aplicación Windows XP

Cuadro de diálogo Informe de errores de Windows XP

Control de errores de la aplicación Windows Vista
>

Cuadro de diálogo Informe de errores de Windows Vista

Comentarios de la Cuenca Pot: Como puede verse en la Figura 1, el proceso de informe de errores de Windows XP dwwin es iniciado por la aplicación que generó el error, si La pila de subprocesos principal de la aplicación está dañada y puede provocar que no se abra un informe de errores. La Figura 3 muestra el proceso de informe de errores de Windows Vista. WerFault se inicia con el proceso svchost (realmente cargado por el servicio WER en el proceso svchost), un mecanismo relativamente independiente para garantizar que el sistema pueda capturar los errores de la aplicación. .

Copyright © Conocimiento de Windows All Rights Reserved