Docs Menu
Docs Home
/ /
Atlas Device SDK
/ /

디버깅 - Java SDK

이 페이지의 내용

  • Android Studio 디버깅
  • NDK 디버깅

중요

Android Studio 디버거는 Realm 객체 필드에 잘못된 값을 제공할 수 있습니다. 올바른 값을 보려면 대신 접근자 값을 확인하거나 Realm 객체 toString() 메서드를 사용하여 최신 필드 값을 확인할 수 있습니다.

이 섹션에서는 잘못된 값 보고를 방지하기 위해 Android Studio로 Realm 애플리케이션을 디버깅할 때 염두에 두어야 할 정보에 대해 자세히 설명합니다. Realm 객체를 보면 객체의 필드에 값이 표시됩니다. 필드 값 자체가 사용되지 않기 때문에 이러한 값이 정확하지 않습니다. 이는 Realm이 뒤에서 프록시 객체 를 생성하여 영역의 지속형 데이터에 액세스하기 위해 게터 및 세터를 재정의하기 때문입니다. 올바른 값을 보려면 접근자에 시계를 추가하세요. 아래 이미지를 참조하세요.

Android Studio 디버거를 사용할 때 접근자는 올바른 필드 값을 표시하고 필드는 오래된 정보를 표시합니다.

위 이미지에서는 디버거가 113 줄에서 중지되었습니다. 감시 값에는 세 가지가 있습니다.

  • person 변수

  • person.getName() 접근자

  • person.getAge() 접근자

107 줄부터 111 까지의 코드는 쓰기 트랜잭션 (write transaction)에서 이름과 연령을 변경하여 person 인스턴스를 변경합니다. 113 줄에서 person 인스턴스가 필드 감시 값에 대해 잘못된 값을 보고합니다. 접근 자를 사용하는 감시 값이 올바른 값을 보고합니다.

Realm Java SDK 라이브러리에는 네이티브 코드가 포함되어 있습니다. NDK 충돌 디버깅은 기본 스택 추적이 최소한의 정보를 제공하므로 번거로울 수 있습니다.

Crashlytics 와 같은 충돌 보고 도구를 사용하는 것이 좋습니다. . 이를 통해 네이티브 오류를 추적 하고 기타 중요한 정보를 수집 기능 있습니다. 이 정보가 있으면 문제를 더 빠르게 해결할 수 있습니다.

프로젝트의 Cashlytics에서 NDK 충돌 보고를 활성화하려면 애플리케이션 build.gradle 파일의 루트에 다음을 추가하세요.

crashlytics {
enableNdk true
}

참고

androidNdkOutandroidNdkLibsOut 값은 필요하지 않습니다.

돌아가기

로그 Realm 이벤트