Menu Docs
Página inicial do Docs
/ /
Atlas Device SDKs
/ /

Depuração - SDK Java

Nesta página

  • Depuração do Android Studio
  • Depuração do NDK

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:

Ao usar o depurador do Android Studio, os acessadores exibem o valor de campo correto, enquanto os campos mostram informações desatualizadas.

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.

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.

Voltar

Registrar eventos de domínio