Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon MVVMCross의 NULL 참조 예외를 디버깅하는 데 도움이되는 특정 도구 또는 플러그인이 있습니까?


MVVMCross의 NULL 참조 예외를 디버깅하는 데 도움이되는 특정 도구 또는 플러그인이 있습니까?


MVVMCross의 NULL 참조 예외를 디버깅하는 것은 어려울 수 있지만 도움이되는 몇 가지 도구와 전략이 있습니다. 몇 가지 자세한 접근법은 다음과 같습니다.

디버깅 도구 및 전략

1. 비주얼 스튜디오 예외 설정 **

NULL 참조 예외를 효과적으로 디버깅하려면 Visual Studio가 모든 일반적인 언어 런타임 (CLR) 예외를 중단하도록 구성하는 것이 중요합니다. 디버그> Windows> 예외 설정으로 이동하여 일반 언어 런타임 예외 옆에있는 상자를 확인하여 수행 할 수 있습니다. 이를 통해 예외가 제기되는 시점에서 코드를 진행할 수 있으며, 널 참조의 원인에 대한 귀중한 통찰력을 제공합니다 [3].

2. 소스 링크 **

MVVMCross는 소스 링크를 지원하므로 프로젝트에서 직접 MVMCross 소스 코드를 진행할 수 있습니다. 이는 MVVMCross가 내부적으로 특정 작업을 처리하는 방법을 이해하는 데 특히 유용합니다. 소스 링크를 활성화하려면 도구> 옵션> 디버깅> 일반으로 이동하여 소스 서버 지원을 활성화하십시오 ** [7].

3. MVVMCROSS 놀이터 샘플 **

간단한 테스트 케이스에서 재현 할 수없는 문제가있는 경우 MVMCross Playground 샘플 앱을 사용해보십시오. 이 샘플은 MVVMCross 소스 코드에 포함되어 있으며 제어 된 환경에서 문제를 재현하여 문제를 분리하는 데 도움이 될 수 있습니다 [3].

4. 커뮤니티 지원 **

MVMCROSS 커뮤니티는 활발하고 도움이됩니다. 붙어있는 경우 Stack Overflow 또는 MVMCross Slack 채널과 같은 플랫폼에 대한 지원을 요청하십시오. 또한 버그를 발견했다고 생각되면 MVMCross Github 페이지에서 문제를 제기 할 수 있습니다 [3].

5. 특정 문제에 대한 해결 방법 **

`mvxasynccommand`를 사용할 때 null 참조와 같은 문제의 경우`mvx.iocprovider`가 올바르게 초기화되어 있는지 확인하십시오. 이는 단위 테스트에서 IOC 제공 업체를 수동으로 설정하여 종종 해결할 수 있습니다 [1].

6. MVVMCross 플러그인 **

플러그인 자체는 NULL 참조 디버깅에 직접 도움이되지 않을 수 있지만 특정 기능을 단순화하고 코드베이스의 복잡성을 줄일 수있어 문제를 쉽게 식별하고 수정할 수 있습니다. 사용하는 플러그인이 프로젝트에서 올바르게 초기화되고 참조되어 있는지 확인하십시오 [9].

7. 코드 검토 및 테스트 **

마지막으로, 철저한 코드 검토 및 단위 테스트는 NULL 참조 예외를 조기에 포착하는 데 도움이 될 수 있습니다. 모든 종속성이 올바르게 주입되고 사용을 시도하기 전에 뷰 모델이 올바르게 설정되어 있는지 확인하십시오.

이러한 전략을 결합하면 MVVMCross 애플리케이션에서 NULL 참조 예외를보다 효과적으로 디버깅하고 해결할 수 있습니다.

인용 :
[1] https://stackoverflow.com/questions/53597908/mvvm-cross-null-references-hen-unit-testing-mxvasynccommand/53618570
[2] https://www.mvvmcross.com/documentation/plugins/3rd-party-plugins
[3] https://nicksnettravels.builttoroam.com/post-2018-07-31-debugging-n-contribing-to-mvvmcross-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