デバッグと WinRT サスペンド イベント: トラブルシューティング ガイド
WinRT を使用して Windows Phone 8.1 アプリを開発すると、課題が発生することがあります。 よくある問題の 1 つは、デバッグ セッション中に中断イベントが発生しないことです。典型的なコード スニペットを調べて、解決策を探ってみましょう:
<code>public App() { ... Suspending += OnSuspending; } private void OnSuspending(object sender, SuspendingEventArgs e) { var deferral = e.SuspendingOperation.GetDeferral(); deferral.Complete(); }</code>
このコードは、アプリの一時停止を処理するための OnSuspending
メソッドを登録します。 ただし、デバッグ中は、このイベントはトリガーされません。 その理由は次のとおりです。
デバッガーが一時停止を防止します
Windows デバッガーは、スムーズなデバッグ エクスペリエンスを保証するために、アプリの一時停止を意図的に防ぎます。 この動作は仕様によるものです。
一時停止ロジックのテスト
サスペンションのハンドリングを正確にテストするには、2 つのオプションがあります:
デバッグなしで実行: デバッガーの外部でアプリを実行するだけです。 これにより、システムはアプリを通常どおり一時停止し、OnSuspending
イベントをトリガーできるようになります。
Visual Studio での手動一時停止: Visual Studio のデバッグ ツールバーには、一時停止をシミュレートする方法が用意されています:
Debug
に移動します -> Debug Location
.デバッグに関する重要な注意事項
このデバッグ制限により、OnSuspending
イベント ハンドラー内の潜在的な問題が隠蔽される可能性があります。 このコードのエラーは、デバッグ中には表示されない可能性があります。 信頼性の高い結果を得るために、常に非デバッグ環境で一時停止ロジックをテストしてください。 サスペンド時にアプリが正しく動作することを確認するには、デバッガーの外部で徹底的にテストすることが重要です。
以上がデバッグ中に WinRT アプリの一時停止イベントがトリガーされないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。