デバッグ中の WinRT 一時停止イベントのトラブルシューティング
WinRT を使用して Windows Phone 8.1 アプリを開発すると、一時停止イベントをテストするときに課題が発生することがよくあります。 アプリの状態を保存するために重要な Suspending
イベントは、デバッグ中に応答しないように見える場合があります。 たとえば、次のコード スニペットは、期待どおりに OnSuspending
メソッドをトリガーしない可能性があります:
<code class="language-csharp">Suspending += OnSuspending; private void OnSuspending(object sender, SuspendingEventArgs e) { var deferral = e.SuspendingOperation.GetDeferral(); deferral.Complete(); }</code>
このトリガーの欠如は、デバッガーの動作に起因します。 Windows オペレーティング システムは、アプリがアクティブなデバッグ中である間の一時停止をアクティブに防ぎます。 他の場所で述べたように:
「デバッグ中、アプリが最小化されて復元された場合でも、一時停止イベントと再開イベントはトリガーされません。これは、Windows がデバッグ中にアプリを一時停止しないためです。」
効果的なデバッグ手法
サスペンションのハンドリングを効果的にテストするには、次のアプローチを検討してください。
Suspending
イベントはデバッグ コンテキストの外部でも正しく機能することを覚えておくことが重要です。 ただし、OnSuspending
イベント ハンドラー内の潜在的なエラーは、デバッグ中に異なる形で現れる可能性があります。 したがって、一時停止イベントを手動でトリガーすることは、デバッグ セッション中のテストに推奨される方法です。
以上がデバッグ中に WinRT の一時停止イベントがトリガーされないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。