Depuração - SDK Java
Nesta página
Depuração do Android Studio
Importante
O depurador do Android Studio pode fornecer valores enganosos para campos de objeto do Realm. Para obter os valores corretos, você pode observar os valores do acessador ou usar o método do objeto Realm toString()
para ver os valores de campo mais recentes.
Esta seção detalha informações que você deve ter em mente ao depurar aplicativos Realm com o Android Studio para evitar relatórios de valores incorretos. Ao observar um Objeto de Realm, você verá os valores exibidos no campo do objeto. Esses valores estão incorretos porque os próprios valores de campo não são usados. Isso ocorre porque o Realm cria um objeto proxy nos trás, substituindo os getters e setters para acessar os dados persistentes no realm. Para ver os valores corretos, adicione um relógio nos acessadores. Veja a imagem abaixo:
Na imagem acima, o depurador parou na linha 113
. Existem três valores de observação:
A variável
person
O acessador
person.getName()
O acessador
person.getAge()
O código das linhas 107
a 111
altera a instância person
alterando o nome e a idade em uma transação de escrita. Na linha 113
, a instância de observação person
relata valores incorretos para os valores de observação do campo . Os valores de observação que usam os acessadores relatam valores que estão corretos.
Depuração do NDK
A biblioteca Realm Java SDK contém código nativo. A depuração de falhas do DNK pode ser trabalhosa, pois o rastreamento de pilha padrão fornece informações mínimas.
Recomendamos que você use uma ferramenta de relatório de erros como o Crashlytics. Isso lhe dá a capacidade de rastrear erros nativos e reunir outras informações valiosas. Podemos ajudar com seus problemas mais rapidamente se você tiver essas informações.
Para habilitar os relatórios de falhas do DNK no Crishlytics para seu projeto, adicione o seguinte à raiz do seu arquivo build.gradle
do aplicativo:
crashlytics { enableNdk true }
Observação
Os valores androidNdkOut
e androidNdkLibsOut
não são necessários.