Debugarea excepțiilor de referință nulă în MVVMcross poate fi dificilă, dar există mai multe instrumente și strategii care vă pot ajuta. Iată câteva abordări detaliate:
instrumente și strategii de depanare
1. Setări de excepție Visual Studio **
Pentru a depana efectiv excepțiile de referință nulă, este crucial să configurați Visual Studio pentru a rupe toate excepțiile de rulare a limbii comune (CLR). Acest lucru se poate face accesând Debug> Windows> Setări de excepție și verificând caseta de lângă excepțiile comune de rulare a limbii. Acest lucru vă va permite să parcurgeți codul în punctul în care este ridicată excepția, oferind informații valoroase despre ceea ce ar putea provoca referința nulă [3].2. Sursa Linking **
MVVMcross acceptă legătura sursă, care vă permite să parcurgeți codul sursă MVVMCross direct din proiectul dvs. Acest lucru este util în special pentru a înțelege modul în care MVVMcross se ocupă de anumite operații pe plan intern. Pentru a activa conectarea sursei, accesați Instrumente> Opțiuni> Debugging> General și bifați asistența serverului sursă ** [7].3. MVVMCross Playground Eșantion **
Dacă întâmpinați probleme pe care nu le puteți reproduce într -un simplu caz de testare, încercați să utilizați aplicația de probă MVVMCross Playground. Acest eșantion este inclus cu codul sursă MVVMcross și vă poate ajuta să izolați problema prin reproducerea acesteia într -un mediu controlat [3].#######. Suport comunitar **
Comunitatea MVVMcross este activă și de ajutor. Dacă sunteți blocat, luați în considerare să cereți asistență pe platforme precum Stack Overflow sau MVVMcross Slack Channel. În plus, puteți ridica o problemă pe pagina MVVMcross Github dacă credeți că ați găsit un bug [3].
5. Soluții pentru probleme specifice **
Pentru probleme precum referințele nule atunci când utilizați `mvxasynccommand`, asigurați -vă că` mvx.iocprovider` este inițializat corespunzător. Acest lucru poate fi adesea rezolvat prin configurarea manuală a furnizorului de IOC în testele de unitate [1].6. MVVMCross Plugin **
În timp ce plugin -urile în sine s -ar putea să nu ajute direct la depanarea referințelor nule, acestea pot simplifica anumite funcționalități și pot reduce complexitatea bazei de cod, ceea ce poate face mai ușor identificarea și remedierea problemelor. Asigurați -vă că orice plugin -uri pe care le utilizați sunt inițial inițial și menționate în proiectul dvs. [9].7. Revizuirea și testarea codului **
În cele din urmă, recenziile minuțioase ale codului și testarea unităților pot ajuta la prinderea din timp de excepții de referință nulă. Asigurați -vă că toate dependențele sunt injectate în mod corespunzător și că modelele dvs. de vizualizare sunt configurate corect înainte de a încerca să le utilizați.Combinând aceste strategii, puteți depana și rezolva mai eficient excepțiile de referință nule în aplicațiile dvs. MVVMCross.
Citări:[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-to-mvmcross-aspx/
[4] https://stackoverflow.com/questions/18954938/nullreference-exception-ding-binding-with-mvmcross
[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