私はWindows8用のアプリを開発しており、Visual Studio 2012からサスペンド、レジューム、シャットダウンなどをテストできます。ただし、Microsoft Surfaceでアプリをテストすると、シミュレートできない状態がもう1つあります。 。
アプリを開いていて、Surfaceを少しそのままにしておくと、画面が暗くなり、最終的にはシャットオフします。十分に長く(おそらく1〜2分)待ってからスタートボタンを押すと、ロック画面が表示され、そこでサインインできます。サインインすると、アプリを離れた場所が表示されます。ただし、1秒後、すぐにクラッシュし、Surfaceによってスタート画面に戻ります。
VisualStudioとシミュレーターを使用してこれをシミュレートすることはできません。Debug Locationを使用した一時停止/再開では、これは再作成されません。
Surfaceのイベントログを調べたところ、アプリが次のようにクラッシュしていることがわかりました。
The process was terminated due to an unhandled exception.
Exception Info: System.Exception Stack: at
System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at
System.Threading.WinRTSynchronizationContext+Invoker.<InvokeCore>b__0(System.Object) at
System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(System.Object) at
System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at
System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at
System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem() at System.Threading.ThreadPoolWorkQueue.Dispatch() at
System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()
これを見つける方法がわかりません。未処理の例外をすべて標準のメッセージボックスで処理していますが、表示されません。私たちは「非同期ボイド」を回避し、すべてが「非同期タスク」を持ち、適切に待機していることを確認するのに非常に優れています。だから、私は少し立ち往生しています。これがどこで起こっているのかわかりません。
これをシミュレートする方法、または少なくともイベントログをより詳細にする方法を知っている人はいますか?