2

Main.cs でかなりうまく機能するグローバル例外ハンドラーがありますが、エラーをキャッチした後、アプリが存在せず、代わりにハングします。Environment.Exit、exit のセレクター、return、例外の再スローを試しましたが、これらすべてでまだハングが発生します。アプリを終了させる方法はありますか? 例外は、メイン スレッドの外側でスローされています。

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;
            }
        };
4

1 に答える 1

0

アプリがハングする理由を突き止める必要があります。最も簡単な方法は、ハングした後にクラッシュ レポートを作成することです 1

  • 「スライドして電源オフ」が表示されるまで、オン/オフボタンを押し続けます。
  • オン/オフボタンを離します。
  • ホームボタンを長押しします。
  • 数秒後にアプリが終了し、クラッシュ レポートが生成されます (アプリの例外コードは 0xdeadfa11 になります)。

これで、Xcode のオーガナイザーにクラッシュ レポートが表示されます (検索方法の詳細な説明はこちら)。

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

于 2013-01-05T00:09:32.670 に答える