Skip to main content

Depurar e executar diagnósticos

Objetivos de aprendizagem

Após concluir esta unidade, você estará apto a:

  • Compreender quais recursos de depuração estão disponíveis na plataforma do Lightning
  • Usar o Log Inspector no Console do desenvolvedor para examinar registros de depuração

Acompanhar com o Trail Together

Deseja acompanhar um especialista enquanto trabalha nesta etapa? Veja este vídeo que faz parte da série Trail Together.

(Este clipe começa na marca dos 40:30 minutos, caso você queira retroceder e ver o início da etapa novamente.)

Voltando um pouco atrás

Não vamos tentar dizer para você que a depuração na plataforma do Lightning é tão fácil quanto é no Visual Studio. Para falar a verdade, ela não chega nem perto disso. Depurar num ambiente de nuvem multilocatário traz desafios únicos. Isso não significa que seja impossível fazer trabalhos de depuração e diagnóstico na plataforma do Lightning. Significa apenas que a depuração é diferente daquela com a qual você está acostumado. A boa notícia é que o Salesforce fez progressos enormes nessa área nos últimos tempos e tem melhorado a cada lançamento.

Seu amigo, o registro de depuração

No universo da plataforma do Lightning, o registro de depuração é onde você encontra boa parte do que é necessário para depurar e analisar o código. Você já viu como escrever no registro de depuração. Isso é feito mais ou menos da seguinte forma.

System.debug('My Debug Message');

Também é possível especificar um dos seguintes níveis de registro.

  • NONE
  • ERROR
  • WARN
  • INFO
  • DEBUG
  • FINE
  • FINER
  • FINEST

Esses níveis estão organizados do mais baixo para o mais alto e são cumulativos. Então, se você escolher o nível de refinamento máximo, receberá todas as mensagens registradas como erro, aviso, informação e assim por diante. Também existem várias categorias de registro de depuração e a quantidade de informação registrada varia conforme o nível do registro. Para saber mais sobre a depuração para usuários diferentes, confira os links em Resources.

E por que é tão importante saber de tudo isso?

Você já ouviu falar bastante sobre os limites, mas compreendê-los é essencial para o seu sucesso; então, aguente mais um pouco. Cada registro de depuração tem de ter até 20 MB. Se ele exceder esse tamanho, não mostrará tudo o que você precisa. Além disso, cada organização pode reter até 1.000 MB de registros de depuração. Os registros mais antigos são substituídos.

Como os registros de depuração são o principal jeito de reunir informações de depuração sobre o seu aplicativo, não exceda esses limites. Se você não conseguir ver uma mensagem de erro, nunca poderá fazer nada para resolver esse erro. Confira os links em Resources sobre a depuração avançada do Apex e as melhores práticas para ver dicas de como evitar esses tipos de problemas.

Usar o Log Inspector

O Console do desenvolvedor cresceu bastante nos últimos lançamentos. Um dos recursos mais úteis dele é o Log Inspector Para ver como ele funciona, vamos executar um código anônimo e ver os resultados.

  1. Em Configuração, selecione Seu nome > Console do desenvolvedor para abrir o Console do desenvolvedor.
  2. Selecione Depurar > Alterar níveis de registro.
  3. Clique no link Adicionar/Alterar em Configurações gerais de rastreamento para você.
  4. Selecione INFO como nível de depuração para todas as colunas.
  5. Clique em Concluído.
  6. Clique em Concluído.
  7. Selecione Depurar > Perspective Manager.
  8. Selecione Todas (Predefinido) e clique em Configurar como padrão.
  9. Clique em Sim para que esta seja sua perspectiva padrão.
  10. Feche a janela de perspectiva do Console do desenvolvedor.
  11. Selecione Depurar > Abrir janela Executar no modo anônimo.
  12. Exclua o código existente e insira o seguinte trecho:
    System.debug(LoggingLevel.INFO, 'My Info Debug Message');
    System.debug(LoggingLevel.FINE, 'My Fine Debug Message');
    List<Account> accts = [SELECT Id, Name FROM Account];
    for(Account a :accts) {
        System.debug('Account Name:' + a.name);
        System.debug('Account Id:' + a.Id);
    }
    
  13. Verifique se a opção Abrir registro está selecionada e clique em Executar.
  14. Selecione Depurar > Alternar perspectivas > Todas (Predefinido).
  15. Examine os resultados nas guias Timeline e Executed Units.
  16. Em Registro de execução, selecione a opção Filtro e insira FINE. Como definimos o nível de depuração como INFO para o código do Apex, nenhum resultado aparecerá.
  17. Selecione Depurar > Alterar níveis de registro.
  18. Clique no link Adicionar/Alterar em Configurações gerais de rastreamento para você.
  19. Altere DebugLevel para ApexCode e Profiling para FINEST.
  20. Clique em Concluído.
  21. Clique em Concluído.
  22. Selecione Depurar > Abrir janela Executar no modo anônimo.
  23. Deixe o código que já está lá e clique em Executar.
  24. Em Registro de execução, selecione a opção Filtro e insira FINE. A pesquisa com filtro diferencia maiúsculas de minúsculas. Agora você verá o texto “Minha mensagem de depuração refinada”. Você também perceberá que os dois últimos registros da guia Logs têm tamanhos diferentes.

Definir pontos de controle

Como desenvolvedor .NET, você está acostumado a definir pontos de interrupção nos aplicativos. Porém, num ambiente baseado em nuvem com vários locatários que compartilham os recursos, permitir que todos suspendam a execução e mantenham as conexões com o banco de dados abertas seria desastroso.

Os pontos de controle são parecidos com os pontos de interrupção, pois eles revelam muitas informações de execução detalhadas sobre uma linha de código. Mas eles não interrompem a execução nessa linha.

Para mostrar como eles funcionam, vamos definir um ponto de controle em uma linha de código que você criou em uma unidade anterior de Compreendendo o contexto de execução. Caso você não tenha criado o código do manipulador e do acionador de AccountTrigger, retorne à unidade e conclua essa seção antes de prosseguir.

  1. Em Configuração, selecione Seu nome > Console do desenvolvedor para abrir o Console do desenvolvedor.
  2. Selecione Arquivo > Abrir.
  3. Selecione o tipo de entidade Classes e a entidade AccountHandler.
  4. Clique em Abrir.
  5. Posicione o cursor sobre a linha 10 na margem esquerda e clique uma vez. Um ponto vermelho aparece próximo ao número da linha.
  6. Clique duas vezes na última entrada do painel Logs para abrir o registro de depuração.
  7. Selecione Depurar > Abrir janela Executar no modo anônimo.
  8. Exclua o código existente e insira o seguinte trecho:
    Account acct = new Account(
        Name='Test Account 3',
        Phone='(415)555-8989',
        NumberOfEmployees=30,
        BillingCity='San Francisco');
    insert acct;
    
  9. Verifique se a opção Abrir registro está selecionada e clique em Executar.
  10. Clique na guia Pontos de verificação e clique duas vezes na primeira entrada. O Checkpoint Inspector é exibido.
  11. Na guia Symbols, expanda os nós dentro da árvore de execução. Observe as colunas Key e Value.
  12. Clique na guia Heap. Observe as colunas Count e Total Size.

O que vem a seguir?

Agora que já tem as noções básicas do Apex, você está pronto para prosseguir com a sua jornada pelo Salesforce. Siga para a nossa trilha do Desenvolvedor iniciante para aproveitar as habilidades de desenvolvimento que você já tem, para criar aplicativos rápidos na Salesforce Platform.

Recursos

Continue a aprender de graça!
Inscreva-se em uma conta para continuar.
O que você ganha com isso?
  • Receba recomendações personalizadas para suas metas de carreira
  • Pratique suas habilidades com desafios práticos e testes
  • Monitore e compartilhe seu progresso com os empregadores
  • Conecte-se a orientação e oportunidades de carreira