调试 - Java SDK
Atlas Device SDK 已弃用。 有关详细信息,请参阅弃用页面。
Android Studio 调试
重要
Android Studio 调试器可能会为 Realm 对象字段提供误导性的值。 要获得正确的值,您可以改为观察访问器值,或使用 Realm 对象 toString()
方法查看最新的字段值。
本节详细介绍了在使用 Android Studio 调试 Realm 应用程序时应记住的信息,以避免报告不正确的值。 当您查看 Realm 对象时,您将看到对象字段中显示的值。 这些值不正确,因为未使用字段值本身。 这是因为 Realm 在幕后创建了一个对象,覆盖了 getter 和 setter 以访问 Realm 中的持久数据。要查看正确的值,请在访问器上添加监视。 见下图:
在上图中,调试器已在第113
行停止。 共有三个监视值:
person
变量person.getName()
访问器person.getAge()
访问器
第107
111
行到person
行的代码通过在写事务(write transaction)中更改名称和期限来更改实例。在第113
行, person
监视实例报告的字段监视值不正确。 使用访问器的监视值会报告正确的值。
NDK 调试
Realm Java SDK 库包含原生代码。 调试 NDK 崩溃可能很麻烦,因为默认堆栈跟踪提供的信息很少。
我们建议您使用崩溃报告工具,例如 Crashlytics 。这使您能力追踪原生错误并收集其他有价值的信息。如果您知道这些信息,我们可以更快地帮助您解决问题。
要在 Crashlytics 中为项目启用 NDK 崩溃报告,请将以下内容添加到应用程序build.gradle
文件的根目录中:
crashlytics { enableNdk true }
注意
不需要值androidNdkOut
和androidNdkLibsOut
。