asp.net - IIS se bloquea y se reinicia sin soltar un mini-volcado
iis-7 windbg (3)
Tengo un escenario difícil que intento depurar ... En una página de formularios web, cuando hago clic en enviar, el servidor web muestra algún error y reinicia el proceso w3svc.
No veo ningún rastro de pila arrojado al registro de eventos. La única entrada en el Registro de aplicaciones de Windows es:
Nombre de la aplicación que falla: w3wp.exe, versión: 7.5.7600.16385, marca de tiempo: 0x4a5bd0eb
Nombre del módulo de error: KERNELBASE.dll, versión: 6.1.7600.16385, marca de tiempo: 0x4a5bdfe0
Código de excepción: 0xe053534f
No hay un mini volcado creado para adjuntar windbg a ...
¿Alguna idea de cómo depurar mi problema?
Para crear un volcado de memoria para una aplicación bloqueada, puede usar DebugDiag o adplus. O supervisará el proceso y generará un archivo de volcado cuando ocurra el bloqueo. DebugDiag también puede analizar archivos de volcado y generar un informe de problemas (similar al comando "! Analyze -v" en WinDbg).
DebugDiag se puede descargar aquí .
Debería encontrar adplus instalado con las herramientas de depuración para Windows, que es el mismo instalador que contiene WinDbg.
Sospecho que haces una llamada de bucle como
public string sMyText
{
get {return sMyText;}
set {sMyText = value;}
}
y llamas el sMyText
o algo así como
protected override void OnLoad(EventArgs e)
{
base.OnInit(e);
}
o algo así como
Server.Transfer("TheSamePage.aspx");
En estos casos, el bloqueo no se llama el minivolcado. ¿Puede ejecutar el explorador de procesos y ver si su grupo consume la CPU hasta que se cuelga?
Yo usaría algo como Procdump para obtener un volcado de memoria cuando el proceso termine y buscar excepciones y call-stack.
-t Escribe un volcado cuando el proceso termina.
FYI ... lo que ves en EventViewer son los Watson buckets
que indican qué aplicación y qué módulo tuvieron una excepción no controlada. De su registro, parece que kernelBase
fue el módulo de fallas.