Das Debugieren von Null -Referenzausnahmen in MVVMCross kann eine Herausforderung sein, aber es gibt mehrere Tools und Strategien, die helfen können. Hier sind einige detaillierte Ansätze:
Debugging -Tools und Strategien
1. Visual Studio -Ausnahmeeinstellungen **
Um null Referenzausnahmen effektiv zu debuggen, ist es entscheidend, Visual Studio so zu konfigurieren, dass sie alle Ausnahmen für gemeinsame Sprachlaufzeit (CLR) aufschließt. Dies kann durch Debug -Ausnahmestellungen für Debug> Windows> Ausnahme erfolgen und das Feld neben gemeinsamen Sprachlaufzeitausnahmen überprüfen. Auf diese Weise können Sie den Code an dem Punkt treten, an dem die Ausnahme erhoben wird, und liefert wertvolle Einblicke in das, was die Nullreferenz verursachen könnte [3].2. Quelle Verknüpfung **
MVVMCross unterstützt die Quellverknüpfung, mit der Sie den MVVMCross -Quellcode direkt aus Ihrem Projekt durchlaufen können. Dies ist besonders nützlich, um zu verstehen, wie MVVMCross bestimmte Operationen intern behandelt. Um die Quellverknüpfung zu aktivieren, wechseln Sie zu Tools> Optionen> Debugging> Allgemein und Tick Enable Source Server Support ** [7].3. Mvvmcross Playplatzprobe **
Wenn Sie Probleme haben, die Sie in einem einfachen Testfall nicht reproduzieren können, verwenden Sie die MVVMCross -Spielplatz -Beispiel -App. Diese Probe ist im MVVMCross -Quellcode enthalten und kann Ihnen helfen, das Problem zu isolieren, indem Sie es in einer kontrollierten Umgebung reproduzieren [3].4. Community Support **
Die MVVMCross -Community ist aktiv und hilfsbereit. Wenn Sie festsitzen, sollten Sie um Hilfe auf Plattformen wie dem Stack -Überlauf oder dem MVVMCROSS -Slack -Kanal fragen. Darüber hinaus können Sie ein Problem auf der MVVMCross -Github -Seite aufwerfen, wenn Sie glauben, dass Sie einen Fehler gefunden haben [3].5. Problemumgehungen für bestimmte Themen **
Stellen Sie sicher, dass bei Verwendung von `mvxasynccommand`` mvx.iocProvider` ordnungsgemäß initialisiert wird. Dies kann oft gelöst werden, indem der IOC -Anbieter in Ihren Einheitstests manuell eingerichtet wird [1].6. MVVMCROSS -Plugins **
Plugins selbst hilft zwar möglicherweise nicht direkt beim Debuggen von Null -Referenzen, aber sie können bestimmte Funktionen vereinfachen und die Komplexität Ihrer Codebasis verringern, wodurch es möglicherweise einfacher ist, Probleme zu identifizieren und zu beheben. Stellen Sie sicher, dass alle von Ihnen verwendeten Plugins korrekt initialisiert und in Ihrem Projekt verwiesen werden [9].7. Code Review und Test **
Schließlich können gründliche Codeüberprüfungen und Unit -Tests dazu beitragen, Null -Referenzausnahmen frühzeitig zu fangen. Stellen Sie sicher, dass alle Abhängigkeiten ordnungsgemäß injiziert werden und dass Ihre Ansichtsmodelle korrekt eingerichtet sind, bevor Sie versuchen, sie zu verwenden.Durch die Kombination dieser Strategien können Sie Null -Referenzausnahmen in Ihren MVVMCross -Anwendungen effektiver debuggen und auflösen.
Zitate:[1] https://stackoverflow.com/questions/53597908/mvvm-cross-null-references-when-unit-testing-mxvasynccommand/53618570
[2] https://www.mvvmcross.com/documentation/plugins/3rd-Party-plugins
[3] https://nicksnettravels.builttoroam.com/post-2018-07-31-debugging-and-contributing-t-mvmcross-aspx/
[4] https://stackoverflow.com/questions/18954938/nullreference-exception-during-binding-with-mvmcross
[5] https://www.mvmcross.com/documentation/getting-started/mvmcross-packages
[6] https://github.com/mvvmcross/mvmcross/issues/4286
[7] https://www.mvvmcross.com/documentation/contributing/debugging-with-symbols
[8] https://www.nuget.org/packages/mvvmcross.plugin.ble/
[9] https://www.mvmcross.com/documentation/plugins/getting-started