Nuestra aplicación experimenta la rara y fatal System.AccessViolationException. Vemos esto ya que hemos configurado el evento AppDomain.CurrentDomain.UnhandledException para registrar la excepción.buscando la causa de System.AccessViolationException
Exception: System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at Bootstrap.Run() in e:\build-dir\src\Bootstrap.cs:line 25
La excepción en sí no parece contener más información que el mensaje "Intento de leer o escribir en la memoria protegida. Esto es a menudo una indicación de que otra memoria está dañada."
- ¿Qué pasos podemos tomar ahora para llegar a la causa del problema?
- ¿Hay alguna manera de determinar la dirección ilegal o el valor del puntero que causó el bloqueo?
- ¿Podemos averiguar qué código de biblioteca nativa estaba causando el problema?
- ¿Hay más depuración/rastreo que podamos habilitar?
ACTUALIZACIÓN
- Podría esto ser causado por el uso no-hilo anterior de la API de Windows Forms?
¿Ha intentado ejecutar este con un depurador asociado, también con suficientes símbolos cargados para dar una pila de llamadas útil? –