Guía de solución de problemas de comportamiento de bloqueo de aplicaciones o servicios
En este artículo se proporcionan instrucciones sobre cómo solucionar problemas de comportamiento de bloqueo de aplicaciones o servicios.
Se aplica a: Todas las versiones compatibles de Windows Server y el cliente de Windows
Cuando vea el identificador de evento 1001 y el identificador de evento 1000 repetidamente en el registro de la aplicación, indica un comportamiento de bloqueo de la aplicación. Se produce junto con procesos de primera o de terceros y apunta a un posible módulo de error.
En este artículo se detalla el proceso de comprobación del evento, la comprensión de la información del evento y el control del evento en función de si se trata de una aplicación de primera o de terceros. Las herramientas de depuración para Windows se usan en este proceso.
Antes de empezar
Consideraciones:
- Compruebe que está ejecutando las actualizaciones más recientes de la versión del sistema operativo instalada.
- Compruebe que la aplicación afectada está actualizada.
- Si está instalado el software antivirus, compruebe que se está ejecutando en la versión más reciente y que las exclusiones necesarias estén en vigor.
La información del id. de evento 1001 level
muestra si Informe de errores de Windows (WER) está habilitado en el sistema. Sin embargo, debe cambiar este servicio para recopilar la level
información necesaria para la investigación. El sistema no registra esta información de forma predeterminada para evitar una ligera sobrecarga de rendimiento.
El identificador de evento 1000 con el Error
nivel es el evento real de bloqueo de la aplicación. Muestra la siguiente información como ejemplo:
Log Name: Application
Source: Application Error
Date: <Date Time>
Event ID: 1000
Task Category: Application Crashing Events
Level: Error
Keywords:
User: SYSTEM
Computer: demo.contoso.com
Description:
Faulting application name: netsh.exe, version: 10.0.22621.1, time stamp: 0x13af0815
Faulting module name: netsh.exe, version: 10.0.22621.1, time stamp: 0x13af0815
Exception code: 0xc0000005
Fault offset: 0x0000000000005399
Faulting process id: 0x0xFEE4
Faulting application start time: 0x0x1DAB66BB5BE07D4
Faulting application path: C:\WINDOWS\system32\netsh.exe
Faulting module path: C:\WINDOWS\system32\netsh.exe
Report Id: <Report ID>
Faulting package full name:
Faulting package-relative application ID:
A menudo presenta un módulo de Microsoft como módulo de error, por ejemplo, ntdll.dll, kernel32.dll y kernelbase.dll. Estos módulos se usan en gran medida mientras los procesos se ejecutan y realizan la transición entre el modo de usuario y el modo kernel. En el proceso, se detectan como víctimas de otros tipos de daños realizados anteriormente por módulos de comportamiento erróneo.
Excepciones comunes:
0xc0000022
STATUS_ACCESS_DENIED
0xc0000005
STATUS_ACCESS_VIOLATION
0xc0000374
STATUS_HEAP_CORRUPTION
Cuando se produce una excepción, puede habilitar el registro detallado adicional para el proceso y recopilar un volcado de memoria de proceso completo mediante Informe de errores de Windows (WER) y GFlags (gflags.exe).
Instale las herramientas de depuración para Windows para obtener gflags.exe, ya que se incluye en las herramientas. Sin embargo, solo tiene que copiar el archivo sin instalar las herramientas en la máquina que necesita solucionar problemas.
Recopilar datos
En el ejemplo anterior de un bloqueo de netsh.exe , configure la máquina para recopilar volcados para obtener más información sobre lo que provocó el bloqueo. Reemplace netsh.exe por el archivo ejecutable identificado en el id. de evento 1000 en el dispositivo.
Configure WER para recopilar volcados de memoria de proceso completos de la excepción mediante la ejecución de los siguientes comandos desde un símbolo del sistema con privilegios elevados:
reg add "HKLM\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\netsh.exe" reg add "HKLM\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\netsh.exe"/v DumpFolder /t REG_EXPAND_SZ /d "C:\WER" /f md C:\WER reg add "HKLM\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\netsh.exe" /v DumpCount /t REG_DWORD /d 10 /f reg add "HKLM\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\netsh.exe" /v DumpType /t REG_DWORD /d 2 /f reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\Windows Error Reporting\LocalDumps\netsh.exe" reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\Windows Error Reporting\LocalDumps\netsh.exe" /v DumpFolder /t REG_EXPAND_SZ /d "C:\WER" /f reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\Windows Error Reporting\LocalDumps\netsh.exe" /v DumpCount /t REG_DWORD /d 10 /f reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\Windows Error Reporting\LocalDumps\netsh.exe" /v DumpType /t REG_DWORD /d 2 /f
Estos comandos permiten recopilar y almacenar hasta 10 volcados de proceso completos del proceso de netsh.exe en la carpeta C:\WER .
Nota:
Se agrega la ubicación del Registro de Windows 64 (WOW64), que permite que las aplicaciones de 32 bits se ejecuten en sistemas de 64 bits.
Configure GFlags para supervisar las asignaciones del montón para realizar un seguimiento de los daños.
Vaya al directorio donde se encuentra la herramienta y ejecute los siguientes comandos desde un símbolo del sistema con privilegios elevados.
Para activar la marca Habilitar montón de páginas (hpa):
Gflags.exe /i netsh.exe +hpa
Para desactivar la marca Habilitar montón de páginas:
Gflags.exe /i netsh.exe -hpa
Reinicie el proceso para que la configuración surta efecto.
Supervise la carpeta C:\WER y compruebe si hay volcados de memoria creados.
Análisis de datos
Una vez que tenga los volcados de proceso, puede hacer lo siguiente:
- Comparta los volcados pertinentes con el tercero para su investigación si el proceso es un proceso de terceros.
- Póngase en contacto con Soporte técnico de Microsoft para analizar los datos si el proceso es un proceso de primera entidad.
- Use el depurador (windbg.exe) instalado mediante herramientas de depuración para Windows e intente determinar el módulo de errores mediante la extensión !analyze.
Después de recopilar los datos y completar la investigación, elimine la clave del Registro (la que tiene el nombre del proceso) y desactive la marca Habilitar montón de página para GFlags.