Για να εντοπίσετε τα προβλήματα του MVVMCROSS αποτελεσματικά, πρέπει να διαμορφώσετε τις ρυθμίσεις εξαίρεσης στο Visual Studio. Ακολουθεί ένας οδηγός βήμα προς βήμα για το πώς να το κάνετε αυτό:
1. Ενεργοποίηση υποστήριξης διακομιστή προέλευσης
Πριν από την κατάδυση σε ρυθμίσεις εξαίρεσης, βεβαιωθείτε ότι μπορείτε να προχωρήσετε μέσω του κώδικα MVVMCROSS χρησιμοποιώντας το Gitlink. Αυτό σας επιτρέπει να εντοπίσετε σφάλματα σε πηγές MVVMCROSS χωρίς να τις κατεβάσετε με μη αυτόματο τρόπο.
- Ενεργοποίηση υποστήριξης διακομιστή προέλευσης: Μεταβείτε στο `Εργαλεία> Επιλογές> Debugging> General` και ελέγξτε το πλαίσιο δίπλα στο` ENABLE SEROCE SERVER SEMPERS '. Αυτό επιτρέπει στο Visual Studio να μεταφέρει τον πηγαίο κώδικα από το αποθετήριο MVVMCROSS GitHub όταν σφαλίζει [5].
2. Ρυθμίσεις παραμέτρων εξαίρεσης
Για να πιάσετε εξαιρέσεις που μπορεί να πεταχτούν από το MVVMCROSS, πρέπει να διαμορφώσετε το Visual Studio για να σπάσετε αυτές τις εξαιρέσεις.
- Ανοίξτε τις ρυθμίσεις εξαίρεσης: Στο Visual Studio, μεταβείτε στο `Debug> Windows> Εξαίρεση Ρυθμίσεις '. Αυτό ανοίγει το παράθυρο ρυθμίσεων εξαίρεσης όπου μπορείτε να διαχειριστείτε ποιες εξαιρέσεις το Debugger σπάει στο [4].
- Ενεργοποιήστε το σπάσιμο των εξαιρέσεων: Στο παράθυρο Ρυθμίσεις εξαίρεσης, επεκτείνετε την κατηγορία Εξαιρέσεων Κοινής Γλώσσας. Ελέγξτε τα πλαίσια δίπλα σε τυχόν εξαιρέσεις που θέλετε να σπάσει το Debugger. Για ολοκληρωμένη εντοπισμό σφαλμάτων, ίσως θελήσετε να ενεργοποιήσετε όλες τις εξαιρέσεις κάτω από αυτήν την κατηγορία [7].
- Αναζητήστε συγκεκριμένες εξαιρέσεις: Εάν ψάχνετε για μια συγκεκριμένη εξαίρεση, χρησιμοποιήστε τη γραμμή αναζήτησης στο επάνω μέρος του παραθύρου ρυθμίσεων εξαίρεσης. Αυτό σας βοηθά να βρείτε γρήγορα και να ενεργοποιήσετε το σπάσιμο σε συγκεκριμένες εξαιρέσεις.
- Προσθήκη προϋποθέσεων: Εάν χρειαστεί, μπορείτε να προσθέσετε προϋποθέσεις σε εξαιρέσεις. Κάντε δεξί κλικ σε μια εξαίρεση και επιλέξτε τις συνθήκες επεξεργασίας. Αυτό σας επιτρέπει να καθορίσετε σύμφωνα με τις προϋποθέσεις (π.χ. συγκεκριμένες ενότητες). Το πρόγραμμα εντοπισμού σφαλμάτων πρέπει να σπάσει την εξαίρεση [4].
3. Θέματα εντοπισμού σφαλμάτων mvvmcross
Μόλις ρυθμιστούν οι ρυθμίσεις εξαίρεσης:
- Ξεκινήστε το Debugging: Ξεκινήστε την αποσφαλμάτωση της αίτησής σας. Εάν εμφανιστεί εξαίρεση στο MVVMCROSS, το πρόγραμμα εντοπισμού σφαλμάτων θα σπάσει τώρα στο σημείο όπου ρίχνεται η εξαίρεση, επιτρέποντάς σας να επιθεωρήσετε τις μεταβλητές και να περάσετε από τον κώδικα [7].
- Βήμα μέσω του κώδικα MVVMCross: Με ενεργοποιημένη την υποστήριξη διακομιστή προέλευσης, μπορείτε να εισέλθετε στον κωδικό MVVMCROSS απευθείας από την αίτησή σας. Αυτό βοηθά στη διάγνωση ζητημάτων που μπορεί να κρυφτούν μέσα στο πλαίσιο MVVMCross [5].
4. Χειρισμός εξαιρέσεων που δεν έχουν χειριστεί
Εάν θέλετε να πιάσετε όλες τις εξαντλημένες εξαιρέσεις στην εφαρμογή Xamarin Android χρησιμοποιώντας το MVVMCROSS, σκεφτείτε να εφαρμόσετε έναν παγκόσμιο χειριστή εξαιρέσεων. Αυτό μπορεί να γίνει με την υπέρβαση της μεθόδου `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-mvmcross-sources
[3] https://stackoverflow.com/questions/47306092/xamarin-mvvmcross-unhandled-exceptions
[4] https://learn.microsoft.com/en-us/visualstudio/debugger/managing-exceptions-with-thebugger?view=VS-2022
[5] https://www.mvvmcross.com/documentation/contributing/debugging-with-symbols
[6] https://www.mvvmcross.com/documentation/fundamentals/data-binding
[7] https://nicksnettravels.builttoroam.com/post-2018-07-31-debugging-andtributing-to-mvmcross-aspx/
[8] https://devblogs.microsoft.com/xamarin/demystifying-build-configurations/