Para depurar los problemas de MVVMCross de manera efectiva, debe configurar su configuración de excepción en Visual Studio. Aquí hay una guía paso a paso sobre cómo hacer esto:
1. Habilitar el soporte del servidor de origen
Antes de sumergirse en la configuración de excepción, asegúrese de que pueda atravesar el código MVVMCross usando GitLink. Esto le permite depurar en fuentes mvvmcross sin descargarlas manualmente.
- Habilitar el soporte del servidor de origen: vaya a `Herramientas> Opciones> Depuración> General` y marque la casilla junto a` Activar soporte de servidor de origen '. Esto permite que Visual Studio obtenga el código fuente del repositorio MVVMCross GitHub al depurar [5].
2. Configurar configuraciones de excepción
Para atrapar excepciones que pueden ser lanzadas por MVVMCross, debe configurar Visual Studio para romper estas excepciones.
- Abra Configuración de excepción: en Visual Studio, vaya a 'Debug> Windows> Configuración de excepción'. Esto abre la ventana de configuración de excepción donde puede administrar qué excepciones rompe el depurador [4].
- Habilite la ruptura de las excepciones: en la ventana Configuración de excepción, expanda la categoría de excepciones de tiempo de ejecución del idioma común. Marque las casillas junto a cualquier excepción que desee que se rompa el depurador. Para la depuración integral, es posible que desee habilitar todas las excepciones en esta categoría [7].
- Busque excepciones específicas: si está buscando una excepción particular, use la barra de búsqueda en la parte superior de la ventana de configuración de excepción. Esto le ayuda a encontrar rápidamente y habilitar la ruptura de excepciones específicas.
- Agregar condiciones: si es necesario, puede agregar condiciones a las excepciones. Haga clic con el botón derecho en una excepción y seleccione las condiciones de edición. Esto le permite especificar en qué condiciones (por ejemplo, módulos específicos) el depurador debe romperse con la excepción [4].
3. Depuración de problemas de mvvmcross
Una vez que se configuran la configuración de su excepción:
- Comience a depurar: comience a depurar su aplicación. Si se produce una excepción dentro de MVVMCross, el depurador ahora se romperá en el punto en que se lanza la excepción, lo que le permite inspeccionar variables y atravesar el código [7].
- Pase a través del código MVVMCross: con el soporte del servidor de origen habilitado, puede pasar al código MVVMCross directamente desde su aplicación. Esto ayuda a diagnosticar problemas que podrían estar ocultos dentro del marco MVVMCross [5].
4. Manejo de excepciones no controladas
Si desea atrapar todas las excepciones no controladas en su aplicación Xamarin Android usando MVVMCross, considere implementar un manejador de excepciones globales. Esto se puede hacer anulando el método 'OnCreate` en su actividad principal y configurando un controlador de excepción no controlado [3].
Siguiendo estos pasos, puede depurar efectivamente los problemas de MVVMCross configurando la configuración de excepción y pasando el código fuente MVVMCross cuando sea necesario.
Citas:[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-mvvvmcross-application-in-xamarin-studio-with-mvvmcross-sources
[3] https://stackoverflow.com/questions/47306092/xamarin-mvvvmcross-unhandled-exceptions
[4] https://learn.microsoft.com/en-us/visualstudio/debugger/managing-exceptions-with-thedebugger?view=vs-2022
[5] https://www.mvvmcross.com/documentation/contributing/debugging-with-symbols
[6] https://www.mvvmcross.com/documentation/fundamentals/data-neping
[7] https://nicksnettravels.builttoroam.com/post-2018-07-31-deleguging-and-concontributing-to-mvvmcross-aspx/
[8] https://devblogs.microsoft.com/xamarin/demystifying-build-configurations/