Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Υπάρχουν συγκεκριμένα εργαλεία ή plugins που μπορούν να βοηθήσουν στην αποβολή εξαιρέσεων αναφοράς Null στο MVVMCross


Υπάρχουν συγκεκριμένα εργαλεία ή plugins που μπορούν να βοηθήσουν στην αποβολή εξαιρέσεων αναφοράς Null στο MVVMCross


Οι εξαιρέσεις αναφοράς NULL στο MVVMCross μπορεί να είναι προκλητικές, αλλά υπάρχουν διάφορα εργαλεία και στρατηγικές που μπορούν να βοηθήσουν. Ακολουθούν μερικές λεπτομερείς προσεγγίσεις:

εργαλεία και στρατηγικές εντοπισμού σφαλμάτων

1. Ρυθμίσεις εξαίρεσης Visual Studio **

Για την αποτελεσματική εξαίρεση εξαιρέσεων αναφοράς NULL, είναι σημαντικό να διαμορφώσετε το Visual Studio να σπάσετε όλες τις εξαιρέσεις κοινής γλώσσας εκτέλεσης (CLR). Αυτό μπορεί να γίνει με τη μετάβαση στο Debug> Windows> Ρυθμίσεις εξαίρεσης και τον έλεγχο του πλαισίου δίπλα στις εξαιρέσεις κοινής γλώσσας Runtime. Αυτό θα σας επιτρέψει να προχωρήσετε στον κώδικα στο σημείο όπου αυξάνεται η εξαίρεση, παρέχοντας πολύτιμες γνώσεις για το τι μπορεί να προκαλέσει την αναφορά NULL [3].

2. Σύνδεση πηγής **

Το MVVMCROSS υποστηρίζει τη σύνδεση προέλευσης, η οποία σας επιτρέπει να περνάτε από τον πηγαίο κώδικα MVVMCROSS απευθείας από το έργο σας. Αυτό είναι ιδιαίτερα χρήσιμο για την κατανόηση του τρόπου με τον οποίο το MVVMCROSS χειρίζεται ορισμένες λειτουργίες εσωτερικά. Για να ενεργοποιήσετε τη σύνδεση προέλευσης, μεταβείτε σε εργαλεία> Επιλογές> Σφάλμα εντοπισμού σφαλμάτων> Υποστήριξη διακομιστή προέλευσης General και Tick Enable Enable ** [7].

3. Δείγμα παιδικής χαράς mvvmcross **

Εάν αντιμετωπίζετε προβλήματα που δεν μπορείτε να αναπαράγετε σε μια απλή δοκιμαστική περίπτωση, δοκιμάστε να χρησιμοποιήσετε την εφαρμογή δείγματος MVVMCROSS Playground. Αυτό το δείγμα περιλαμβάνεται στον πηγαίο κώδικα MVVMCross και μπορεί να σας βοηθήσει να απομονώσετε το πρόβλημα αναπαράγοντάς το σε ένα ελεγχόμενο περιβάλλον [3].

4. Κοινοτική υποστήριξη **

Η κοινότητα MVVMCross είναι ενεργή και εξυπηρετική. Εάν είστε κολλημένοι, σκεφτείτε να ζητήσετε βοήθεια σε πλατφόρμες όπως η στοίβα Overflow ή το MVVMCross Slack Channel. Επιπλέον, μπορείτε να δημιουργήσετε ένα πρόβλημα στη σελίδα MVVMCROSS GitHub εάν πιστεύετε ότι έχετε βρει ένα σφάλμα [3].

5. Εναλλακτικές λύσεις για συγκεκριμένα θέματα **

Για θέματα όπως οι αναφορές NULL όταν χρησιμοποιείτε το `mvxasynccommand`, βεβαιωθείτε ότι το" mvx.iocprovider` αρχικοποιείται σωστά. Αυτό μπορεί συχνά να επιλυθεί με το χειροκίνητα ρυθμίζοντας τον πάροχο ΔΟΕ στις δοκιμές μονάδας σας [1].

6.

Ενώ οι ίδιοι οι προσθήκες ενδέχεται να μην βοηθούν άμεσα με την αποκοπή των μηδενικών αναφορών, μπορούν να απλοποιήσουν ορισμένες λειτουργίες και να μειώσουν την πολυπλοκότητα του κώδικα σας, ενδεχομένως να διευκολύνουν τον εντοπισμό και την επίλυση προβλημάτων. Βεβαιωθείτε ότι όλα τα plugins χρησιμοποιείτε σωστά αρχικοποιούνται και αναφέρονται στο έργο σας [9].

7. Αναθεώρηση και δοκιμή κώδικα **

Τέλος, οι λεπτομερείς αναθεωρήσεις κώδικα και οι δοκιμές μονάδων μπορούν να βοηθήσουν στην παραλαβή των εξαιρέσεων αναφοράς NULL νωρίς. Βεβαιωθείτε ότι όλες οι εξαρτήσεις είναι σωστά εγχυμένες και ότι τα μοντέλα προβολής σας έχουν ρυθμιστεί σωστά πριν επιχειρήσετε να τα χρησιμοποιήσετε.

Συνδυάζοντας αυτές τις στρατηγικές, μπορείτε να εντοπίσετε αποτελεσματικότερα και να επιλύσετε τις εξαιρέσεις αναφοράς NULL στις εφαρμογές σας MVVMCROSS.

Αναφορές:
[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-andtributing-to-mvmcross-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