MVVMCrossの問題を効果的にデバッグするには、Visual Studioで例外設定を構成する必要があります。これを行う方法に関する段階的なガイドを次に示します。
1.ソースサーバーのサポートを有効にします
例外設定に飛び込む前に、GitLinkを使用してMVVMCrossコードを介してステップできることを確認してください。これにより、手動でダウンロードすることなく、MVVMCrossソースにデバッグできます。
- ソースサーバーのサポートを有効にする: `ツール>オプション>デバッグ> general`に移動し、「ソースサーバーサポートを有効にする」の横にあるボックスをチェックします。これにより、Visual Studioはデバッグ時にMVVMCross GitHubリポジトリからソースコードを取得できます[5]。
2。例外設定を構成します
MVVMCrossによってスローされる可能性のある例外をキャッチするには、これらの例外を破るようにVisual Studioを構成する必要があります。
- オープン例外設定:Visual Studioでは、「Debug> Windows> Exception Settings」に移動します。これにより、デバッガーがどの例外で破損するかを管理できる例外設定ウィンドウが開きます[4]。
- 例外を有効にする:例外設定ウィンドウで、共通言語ランタイム例外カテゴリを展開します。デバッガーを壊したい例外の横にあるボックスを確認してください。包括的なデバッグについては、このカテゴリ[7]に基づくすべての例外を有効にすることをお勧めします。
- 特定の例外を検索する:特定の例外を探している場合は、例外設定ウィンドウの上部にある検索バーを使用します。これにより、特定の例外で迅速に見つけて壊すことができます。
- 条件を追加:必要に応じて、例外に条件を追加できます。例外を右クリックして、条件の編集を選択します。これにより、どの条件(特定のモジュールなど)でデバッガーが例外で破損するかを指定できます[4]。
###3。MVVMCrossの問題のデバッグ
例外設定が構成されたら:
- デバッグを開始:アプリケーションのデバッグを開始します。 MVVMCross内で例外が発生した場合、デバッガーは例外がスローされているポイントで壊れ、変数を検査してコードを踏むことができます[7]。
-MVVMCrossコードを介して:ソースサーバーサポートを有効にすると、アプリケーションからMVVMCrossコードに直接ステップインすることができます。これは、MVVMCrossフレームワーク内に隠される可能性のある問題の診断に役立ちます[5]。
4。未処理の例外の処理
MVVMCrossを使用してXamarin Androidアプリですべてのハンドルの例外をキャッチしたい場合は、グローバル例外ハンドラーの実装を検討してください。これは、メインアクティビティの「OnCreate」メソッドをオーバーライドし、未処理の例外ハンドラーを設定することで実行できます[3]。
これらの手順に従うことにより、例外設定を構成し、必要に応じてMVVMCrossソースコードを踏むことにより、MVVMCrossの問題を効果的にデバッグできます。
引用:[1] https://learn.microsoft.com/en-us/answers/questions/1182901/how-to-enable-the-exception-setting-option-in-debu
[2] https://stackoverflow.com/questions/21029462/debugging-mvvmcross-application-in-xamarin-studio-with-mvvmcross-sources
[3] https://stackoverflow.com/questions/47306092/xamarin-mvvmcross-unhandled-exceptions
[4] https://learn.microsoft.com/en-us/visualstudio/debugger/managing-exceptions-with-the-bugger?view=vs-2022
[5] https://www.mvvmcross.com/documentation/contributing/debugging-with-symbols
[6] https://www.mvvmcross.com/documentation/fundmentals/dataバインディング
[7] https://nicksnettravels.builttoroam.com/post-2018-07-31-debugging-and-contibuting-to-mvvmcross-aspx/
[8] https://devblogs.microsoft.com/xamarin/demystifiinge-build-configurations/