MVVMCross 문제를 효과적으로 디버깅하려면 Visual Studio에서 예외 설정을 구성해야합니다. 다음은 다음 방법에 대한 단계별 안내서입니다.
1. 소스 서버 지원을 활성화합니다
예외 설정으로 다이빙하기 전에 GitLink를 사용하여 MVVMCross 코드를 단계별로 진행할 수 있는지 확인하십시오. 이를 통해 수동으로 다운로드하지 않고 MVMCross 소스로 디버깅 할 수 있습니다.
- 소스 서버 지원 활성화 : '도구> 옵션> 디버깅> 일반'으로 이동하여 '소스 서버 지원'옆에있는 상자를 확인하십시오. 이를 통해 Visual Studio는 디버깅 할 때 MVMCross Github 저장소에서 소스 코드를 가져올 수 있습니다 [5].
2. 예외 설정을 구성합니다
MVVMCross가 던질 수있는 예외를 포착하려면 이러한 예외를 중단하려면 Visual Studio를 구성해야합니다.
- 예외 설정 열기 : Visual Studio에서`Debug> Windows> 예외 설정 '으로 이동하십시오. 이것은 [4]에서 디버거가 깨지는 예외를 관리 할 수있는 예외 설정 창을 열어줍니다.
- 예외에서 나누는 활성화 : 예외 설정 창에서 공통 언어 런타임 예외 범주를 확장하십시오. 디버거가 끊어 지시는 예외 옆에있는 상자를 확인하십시오. 포괄적 인 디버깅의 경우이 범주에서 모든 예외를 활성화 할 수 있습니다 [7].
- 특정 예외 검색 : 특정 예외를 찾고 있다면 예외 설정 창 상단의 검색 표시 줄을 사용하십시오. 이를 통해 특정 예외를 신속하게 찾고 활성화 할 수 있습니다.
- 조건 추가 : 필요한 경우 예외에 조건을 추가 할 수 있습니다. 예외를 마우스 오른쪽 버튼으로 클릭하고 편집 조건을 선택하십시오. 이를 통해 예외에서 디버거가 중단되어야하는 조건 (예 : 특정 모듈)을 지정할 수 있습니다 [4].
3. MVMCROSS 문제를 디버깅합니다
예외 설정이 구성되면 :
- 디버깅 시작 : 응용 프로그램 디버깅을 시작하십시오. MVVMCross 내에서 예외가 발생하면 디버거는 이제 예외가 발생되는 시점에서 파손되어 변수를 검사하고 코드를 진행할 수 있습니다 [7].
- MVVMCross 코드를 진행하십시오 : 소스 서버 지원을 활성화하면 애플리케이션에서 직접 MVMCROSS 코드로 들어갈 수 있습니다. 이는 MVVMCross 프레임 워크 내에 숨겨져있을 수있는 문제를 진단하는 데 도움이됩니다 [5].
4. 처리되지 않은 예외 처리
MVVMCross를 사용하여 Xamarin Android 앱에서 처리되지 않은 모든 예외를 찾으려면 전역 예외 처리기를 구현하십시오. 이것은 주요 활동에서 'onecreate'메소드를 재정의하고 처리되지 않은 예외 핸들러를 설정함으로써 수행 할 수 있습니다 [3].
이 단계를 수행하면 예외 설정을 구성하고 필요할 때 MVVMCross 소스 코드를 밟아 MVVMCross 문제를 효과적으로 디버깅 할 수 있습니다.
인용 :[1] https://learn.microsoft.com/en-us/answers/questions/1182901/how-table-enablethe-exception-set-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-unhandled-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-20-contribing-to-mvvmcross-aspx/
[8] https://devblogs.microsoft.com/xamarin/demystifying-build-configurations/