디버깅 - Java SDK
이 페이지의 내용
Android Studio 디버깅
중요
Android Studio 디버거는 Realm 객체 필드에 잘못된 값을 제공할 수 있습니다. 올바른 값을 보려면 대신 접근자 값을 확인하거나 Realm 객체 toString()
메서드를 사용하여 최신 필드 값을 확인할 수 있습니다.
이 섹션에서는 잘못된 값 보고를 방지하기 위해 Android Studio로 Realm 애플리케이션을 디버깅할 때 염두에 두어야 할 정보에 대해 자세히 설명합니다. Realm 객체를 보면 객체의 필드에 값이 표시됩니다. 필드 값 자체가 사용되지 않기 때문에 이러한 값이 정확하지 않습니다. 이는 Realm이 뒤에서 프록시 객체 를 생성하여 영역의 지속형 데이터에 액세스하기 위해 게터 및 세터를 재정의하기 때문입니다. 올바른 값을 보려면 접근자에 시계를 추가하세요. 아래 이미지를 참조하세요.
위 이미지에서는 디버거가 113
줄에서 중지되었습니다. 감시 값에는 세 가지가 있습니다.
person
변수person.getName()
접근자person.getAge()
접근자
107
줄부터 111
까지의 코드는 쓰기 트랜잭션 (write transaction)에서 이름과 연령을 변경하여 person
인스턴스를 변경합니다. 113
줄에서 person
인스턴스가 필드 감시 값에 대해 잘못된 값을 보고합니다. 접근 자를 사용하는 감시 값이 올바른 값을 보고합니다.
NDK 디버깅
Realm Java SDK 라이브러리에는 네이티브 코드가 포함되어 있습니다. NDK 충돌 디버깅은 기본 스택 추적이 최소한의 정보를 제공하므로 번거로울 수 있습니다.
Crashlytics 와 같은 충돌 보고 도구를 사용하는 것이 좋습니다. . 이를 통해 네이티브 오류를 추적 하고 기타 중요한 정보를 수집 기능 있습니다. 이 정보가 있으면 문제를 더 빠르게 해결할 수 있습니다.
프로젝트의 Cashlytics에서 NDK 충돌 보고를 활성화하려면 애플리케이션 build.gradle
파일의 루트에 다음을 추가하세요.
crashlytics { enableNdk true }
참고
androidNdkOut
및 androidNdkLibsOut
값은 필요하지 않습니다.