Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon mvvmcrossでnull参照例外をデバッグするのに役立つ特定のツールまたはプラグインはありますか


mvvmcrossでnull参照例外をデバッグするのに役立つ特定のツールまたはプラグインはありますか


MVVMCrossでのNULL参照の例外をデバッグするのは難しい場合がありますが、役立つツールと戦略がいくつかあります。ここにいくつかの詳細なアプローチがあります:

##デバッグツールと戦略

1。ビジュアルスタジオ例外設定**

NULL参照の例外を効果的にデバッグするには、すべての共通言語ランタイム(CLR)の例外を破るようにVisual Studioを構成することが重要です。これは、> [Windows]> [例外設定]をデバッグし、共通言語ランタイムの例外の横にある[ボックス]をチェックすることで実行できます。これにより、例外が提起されているポイントでコードを踏み出すことができ、ヌル参照の原因となる可能性のあるものについて貴重な洞察を提供します[3]。

2。ソースリンク**

MVVMCrossはソースリンクをサポートしています。これにより、MVVMCrossソースコードをプロジェクトから直接介入できます。これは、MVVMCrossが特定の操作を内部的に処理する方法を理解するのに特に役立ちます。ソースのリンクを有効にするには、ツール>オプション>デバッグ>一般に移動し、ソースサーバーのサポートを有効にします** [7]。

###3。mvvmcross遊び場のサンプル**
簡単なテストケースで再現できない問題が発生している場合は、MVVMCross Playgroundサンプルアプリを使用してみてください。このサンプルはMVVMCrossソースコードに含まれており、制御された環境でそれを再現することで問題を隔離するのに役立ちます[3]。

4。コミュニティサポート**

MVVMCrossコミュニティはアクティブで役立ちます。立ち往生している場合は、Stack OverflowやMVVMCross Slackチャネルなどのプラットフォームで支援を求めることを検討してください。さらに、バグが見つかったと思われる場合は、MVVMCross Githubページで問題を提起できます[3]。

5。特定の問題の回避策**

`mvxasynccommand`を使用する場合のnull参照などの問題については、「mvx.iocprovider」が適切に初期化されていることを確認してください。これは、ユニットテストでIOCプロバイダーを手動でセットアップすることで、多くの場合解決できます[1]。

###6。MVVMCROSSプラグイン**
プラグイン自体はNULL参照のデバッグに直接役立つ可能性がありますが、特定の機能を簡素化し、コードベースの複雑さを減らすことができ、問題を識別して修正しやすくする可能性があります。使用するプラグインが正しく初期化され、プロジェクトで参照されていることを確認してください[9]。

###7。コードレビューとテスト**
最後に、徹底的なコードレビューと単体テストは、ヌル参照の例外を早期にキャッチするのに役立ちます。すべての依存関係が適切に注入され、ビューモデルがそれらを使用しようとする前に正しくセットアップされていることを確認してください。

これらの戦略を組み合わせることにより、MVVMCrossアプリケーションでNULL参照例外をより効果的にデバッグおよび解決できます。

引用:
[1] https://stackoverflow.com/questions/53597908/mvvm-cross-null-References-when-unit-testing-mxvasyncommand/53618570
[2] https://www.mvvmcross.com/documentation/plugins/3rd-party-plugins
[3] https://nicksnettravels.builttoroam.com/post-2018-07-31-debugging-and-contibuting-to-mvvmcross-aspx/
[4] https://stackoverflow.com/questions/18954938/nullreference-exception-during-binding-with-mvvmcross
[5] https://www.mvvmcross.com/documentation/getting-started/mvvmcross-packages
[6] https://github.com/mvvmcross/mvvmcross/issues/4286
[7] https://www.mvvmcross.com/documentation/contributing/debugging-with-symbols
[8] https://www.nuget.org/packages/mvvmcross.plugin.ble/
[9] https://www.mvvmcross.com/documentation/plugins/getting-started