TargetInvocationException: Microsoft.AGL.Common.MISC.HandleAr (PAL_ERROR ar)
Obtengo una excepción TargetInvocationException al cargar recursos en mi proyecto .NET Compact Framework 3.5 (que se ejecuta en Windows Mobile 6). Se ven similares a este rastro de pila:
FATAL 2012-11-13 14:17:00,657 [23768895] TargetInvocationException - mobileX.MIP.Post.Presentation.Program
System.Reflection.TargetInvocationException: TargetInvocationException ---> System.Exception: Exception
at Microsoft.AGL.Common.MISC.HandleAr(PAL_ERROR ar)
at System.Drawing.Bitmap._InitFromMemoryStream(MemoryStream mstream)
at System.Drawing.Bitmap..ctor(Stream stream)
at System.Reflection.RuntimeConstructorInfo.InternalInvoke(RuntimeConstructorInfo rtci, BindingFlags invokeAttr, Binder binder, Object parameters, CultureInfo culture, Boolean isBinderDefault, Assembly caller, Boolean verifyAccess, StackCrawlMark& stackMark)
at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Reflection.ConstructorInfo.Invoke(Object[] parameters)
at System.Resources.ResourceReader.CreateResource(Type objType, Type[] ctorParamTypes, Object[] ctorParameters)
at System.Resources.ResourceReader.LoadBitmap(Int32 typeIndex)
at System.Resources.ResourceReader.LoadObjectV2(Int32 pos, ResourceTypeCode& typeCode)
at System.Resources.ResourceReader.LoadObject(Int32 pos, ResourceTypeCode& typeCode)
at System.Resources.RuntimeResourceSet.GetObject(String key, Boolean ignoreCase)
at System.Resources.ResourceManager.GetObject(String name, CultureInfo culture)
Supongo que por la razón de esta excepción es que hay algún recurso no administrado que olvidé limpiar. Sin embargo, tengo muchos Formularios y Recursos en el proyecto.
Asi que aqui están mis preguntas:
¿Podría un formulario o recurso que no se haya limpiado ser una razón para esta excepción?¿Cómo puedo rastrear el formulario o recurso exacto que desperdicia mi memoria?Respecto a 2: ya he perfilado mi solicitud con el CLR Profiler de la.NET Compact Framework Power Toys 3.5. Mucha memoria va a "FUNCIÓN NATIVA" /System.Windows.Forms.Control::_InternalWnProc Microsoft.AGL.Common.PAL_ERROR (Microsoft.AGL.Forms.WM int32 int32)
. Sin embargo, no puedo ver dónde se utilizan estos recursos. ¿Cómo puedo averiguarlo?