Solución de problemas de .NET "Error grave del motor de ejecución"

Resumen:

Periódicamente aparece un error de motor de ejecución fatal .NET en una aplicación que parece que no puedo depurar. El cuadro de diálogo que aparece solo ofrece cerrar el programa o enviar información sobre el error a Microsoft. He intentado mirar la información más detallada pero no sé cómo usarla.

Error:

El error es visible en el Visor de eventos en Aplicaciones y es el siguiente:

.NET Runtime versión 2.0.50727.3607 - Error grave del motor de ejecución (7A09795E) (80131506)

La computadora que lo ejecuta es Windows XP Professional SP 3. (Intel Core2Quad Q6600 2.4GHz con 2.0 GB de RAM). Otros proyectos basados en .NET que carecen de descarga multiproceso (ver más abajo) parecen funcionar bien.

Solicitud:

La aplicación está escrita en C # / .NET 3.5 usando VS2008, y se instala a través de un proyecto de configuración.

La aplicación es multiproceso y descarga datos de múltiples servidores web utilizandoSystem.Net.HttpWebRequest y sus métodos He determinado que el error .NET tiene algo que ver con subprocesos o HttpWebRequest, pero no he podido acercarme más ya que este error en particular parece imposible de depurar.

He intentado manejar errores en muchos niveles, incluido el siguiente en Program.cs:

// handle UI thread exceptions
Application.ThreadException += Application_ThreadException;

// handle non-UI thread exceptions
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;

Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);

// force all windows forms errors to go through our handler
Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);

Más notas y lo que he probado ...

Instalé Visual Studio 2008 en la máquina de destino e intenté ejecutarlo en modo de depuración, pero el error aún ocurre, sin ninguna pista sobre dónde ocurrió el código fuente.Al ejecutar el programa desde su versión instalada (Release), el error ocurre con más frecuencia, generalmente a los pocos minutos de iniciar la aplicación. Al ejecutar el programa en modo de depuración dentro de VS2008, puede ejecutarse durante horas o días antes de generar el error.Reinstalé .NET 3.5 y se aseguró de que se aplicaran todas las actualizaciones.Rompió objetos de cubículos al azar en frustración.Se reescribieron partes del código que se ocupan de subprocesos y descargas en intentos de capturar y registrar excepciones, aunque el registro pareció agravar el problema (y nunca proporcionó ningún dato).

Pregunta:

¿Qué pasos puedo tomar para solucionar o depurar este tipo de error? Los volcados de memoria y similares parecen ser el siguiente paso, pero no tengo experiencia en interpretarlos. Quizás haya algo más que pueda hacer en el código para tratar de detectar errores ... Sería bueno que el "Error de motor de ejecución fatal" fuera más informativo, pero las búsquedas en Internet solo me han dicho que es un error común para muchos Artículos relacionados con .NET.

Respuestas a la pregunta(5)

Su respuesta a la pregunta