Чтобы эффективно отлаживать проблемы MVVMcross, вам необходимо настроить настройки исключений в Visual Studio. Вот пошаговое руководство о том, как это сделать:
1. Включить поддержку исходного сервера
Прежде чем погрузиться в настройки исключения, убедитесь, что вы можете пройти код MVVMcross, используя GitLink. Это позволяет вам отлаживать в источниках MVVMcross без их вручную.
- Включить поддержку исходного сервера: перейдите к `Инструменты> Параметры> Отладка> General` и установите флажок рядом с` inable Source Server Support '. Это позволяет Visual Studio извлекать исходный код из репозитория Github Mvvmcross при отладке [5].
2. Настроить настройки исключений
Чтобы поймать исключения, которые могут быть брошены MVVMcross, вам необходимо настроить Visual Studio, чтобы нарушить эти исключения.
- Откройте настройки исключений: в Visual Studio перейдите в `DEBUG> Windows> Настройки исключений. Это открывает окно «Настройки исключений», где вы можете управлять, какими исключениями ломается отладчик [4].
- Включите нарушение исключений: в окне «Настройки исключения» разверните категорию исключений обычного языка. Установите флажки рядом с любыми исключениями, которые вы хотите, чтобы отладчик сломался. Для всесторонней отладки вы можете включить все исключения в соответствии с этой категорией [7].
- Поиск конкретных исключений: если вы ищете определенное исключение, используйте строку поиска в верхней части окна «Настройки исключения». Это помогает вам быстро найти и позволить разорвать конкретные исключения.
- Добавьте условия: при необходимости вы можете добавить условия к исключениям. Щелкните правой кнопкой мыши исключение и выберите условия редактирования. Это позволяет вам указать, в каких условиях (например, конкретных модулях) отладчик должен нарушить исключение [4].
3. Отладка проблем MVVMcross
Как только настройки ваших исключений настроены:
- Начните отладку: Начните отладку вашего приложения. Если в MVVMcross возникает исключение, отладчик теперь сломается в точке, где исключение брошено, что позволяет вам проверять переменные и пройти через код [7].
- Перейдите через код MVVMcross: с включением поддержки Source Server вы можете войти в код 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-mvvmcross-sources
[3] https://stackoverflow.com/questions/47306092/xamarin-mvvmcross-undhandled-exceptions
[4] https://learn.microsoft.com/en-us/visualstudio/debugger/managing-exceptions-with-the-debugger?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-and-contributing-tom-mvvmcross-aspx/
[8] https://devblogs.microsoft.com/xamarin/demystify-build-configurations/