Docs 菜单
Docs 主页
/ /
Atlas Device SDKs
/ /

调试 - Java SDK

在此页面上

  • Android Studio 调试
  • NDK 调试

重要

Android Studio 调试器可能会为 Realm 对象字段提供误导性的值。 要获得正确的值,您可以改为观察访问器值,或使用 Realm 对象 toString()方法查看最新的字段值。

本节详细介绍了在使用 Android Studio 调试 Realm 应用程序时应记住的信息,以避免报告不正确的值。 当您查看 Realm 对象时,您将看到对象字段中显示的值。 这些值不正确,因为未使用字段值本身。 这是因为 Realm 在幕后创建了一个对象,覆盖了 getter 和 setter 以访问 Realm 中的持久数据。要查看正确的值,请在访问器上添加监视。 见下图:

使用 Android Studio 调试器时,访问器显示正确的字段值,而字段显示过时的信息。

在上图中,调试器已在第113行停止。 共有三个监视值:

  • person变量

  • person.getName()访问器

  • person.getAge()访问器

107 111行到person 行的代码通过在写事务(write transaction)中更改名称和期限来更改实例。在第113行, person监视实例报告的字段监视值不正确。 使用访问器的监视值会报告正确的值。

Realm Java SDK 库包含原生代码。 调试 NDK 崩溃可能很麻烦,因为默认堆栈跟踪提供的信息很少。

我们建议您使用崩溃报告工具,例如 Crashlytics 。这使您能力追踪原生错误并收集其他有价值的信息。如果您知道这些信息,我们可以更快地帮助您解决问题。

要在 Crashlytics 中为项目启用 NDK 崩溃报告,请将以下内容添加到应用程序build.gradle文件的根目录中:

crashlytics {
enableNdk true
}

注意

不需要值androidNdkOutandroidNdkLibsOut

后退

记录 Realm 事件