MonoTouch - AppDomain.CurrentDomain.UnhandledException挂起

时间:2012-12-24 22:13:03

标签: multithreading exception-handling xamarin.ios

我有一个全局异常处理程序在Main.cs中运行良好,但在捕获错误后我的应用程序不存在,而只是挂起。我尝试了Environment.Exit,选择器退出,返回,重新抛出异常 - 所有这些仍然导致挂起。有没有办法让应用程序终止?异常是抛出主线程。

AppDomain.CurrentDomain.UnhandledException += delegate(object sender, UnhandledExceptionEventArgs e)
        {
            var ex = (Exception)e.ExceptionObject;

            if (!DidReportError)
            {
                var error = ex.GetInnerErrorMessage ();
                Console.WriteLine ("Caught in Main.cs \n\n" + error);
                DidReportError = true;
            }
        };

1 个答案:

答案 0 :(得分:0)

您需要找出应用挂起的原因,最简单的方法是在挂起1后创建崩溃报告:

  • 按住开/关按钮,直到出现“滑到电源关闭”。
  • 释放开/关按钮。
  • 按住主屏幕按钮。
  • 几秒钟后,应用程序将被终止,并将生成崩溃报告(应用程序的异常代码为0xdeadfa11)。

现在,您将在Xcode的管理器中找到崩溃报告(有关如何找到它的详细说明here)。

1 http://rolfkvinge.blogspot.com.es/2012/05/monotouch-debugging-tips.html