Estoy tratando de implementar un manejador de excepción general útil para mi código MonoTouch.Rastros de pila MonoTouch no detallados
Si adjunto un controlador a AppDomain.CurrentDomain.UnhandledException
, no hay ningún rastro de pila presente, es decir, la propiedad .StackTrace es nula o está vacía.
Si envuelvo mi llamada UIApplication.Main(args)
en try {} catch {}
, el seguimiento de pila no contiene ninguna información útil:
at MonoTouch.UIKit.UIApplication.Main (System.String[] args, System.String principalClassName, System.String delegateClassName) [0x00000] in <filename unknown>:0
at MonoTouch.UIKit.UIApplication.Main (System.String[] args) [0x00000] in <filename unknown>:0
at MyNamespace.MyProduct.MyProject.Application.Main (System.String[] args) [0x00000] in <filename unknown>:0
es decir, que no va más profundo que el método main() donde tomé la excepción .
¿Alguna idea de cómo puedo obtener algo de información más útil en el seguimiento de la pila, o todo está optimizado completamente por la compilación AOT? (El seguimiento de la pila es el esperado en modo de depuración).
Al igual que la pregunta dice, sé que esto funciona bien en modo de depuración. Quería incluir este controlador en el código publicado, pero no tiene sentido si toda la información de depuración está completamente eliminada. La pregunta es: ¿no hay forma de obtener un seguimiento de pila en el código del modo de lanzamiento? – tomfanning