Skip to main content
Join the Agentforce Hackathon on Nov. 18-19 to compete for a $20,000 Grand Prize. Sign up now. Terms apply.

Inspecionar objetos em pontos de verificação

Objetivos de aprendizagem

Após concluir esta unidade, você estará apto a:
  • Configurar pontos de verificação em seu código do Apex.
  • Analisar os objetos na memória usando o Checkpoint Inspector.
Nota

Nota

Deseja aprender em português (Brasil)? Comece o desafio em um Trailhead Playground de português (Brasil) e copie e cole os valores de português (Brasil). Se você não passar no desafio em sua organização de português (Brasil), recomendamos que (1) mude o local para os Estados Unidos, (2) mude o idioma para inglês, seguindo as instruções aqui, e (3) clique novamente no botão “Validar o desafio”.

Consulte o emblema Trailhead no seu idioma para saber mais sobre como aproveitar a experiência de Trailhead em outros idiomas.

Configurar pontos de verificação em seu código do Apex

O momento em que o alto-falante de sua nave espacial começa a anunciar erros no sistema, você precisa ir diretamente aos registros para descobrir o que aconteceu e onde.

Da mesma forma, quando seu código do Apex está causando erros, tem problemas de desempenho ou não está produzindo os resultados desejados, seu primeiro passo é identificar o problema usando seu registro de depuração. Combinar todo o registro, linha a linha, é uma tarefa entediante. É aqui que os pontos de verificação vêm a calhar! Os pontos de verificação lhe mostram instantâneos do que está acontecendo em seu código do Apex em pontos específicos durante a execução.

Você pode configurar até cinco pontos de verificação em seu código do Apex. Os pontos de verificação não estão disponíveis para marcação Visualforce.

Vamos configurar um ponto de verificação na classe EmailMissionSpecialist que criamos mais cedo.
  1. Selecione File (Arquivo) | Open (Abrir) e abra a classe EmailMissionSpecialist.
  2. Selecione Debug (Depurar) | Change Log Levels (Alterar níveis de registro).
  3. Na seção General Trace Settings for You (Configurações gerais de rastreamento para você), clique em Add/Change (Adicionar/Alterar).
  4. Configure o nível de registro ApexCode para FINEST.
    Observação: Para definir pontos de verificação, você precisa da permissão de usuário Exibir todos os dados. Para gerar resultados usando pontos de verificação, execute o código usando o recurso de executar no modo anônimo ou defina você mesmo um sinalizador de rastreio DEVELOPER_LOG. O sinalizador de rastreio deve ter um nível de registro para o Apex of INFO ou superior.
  5. Para salvar suas alterações, clique em Done (Concluído).
  6. Para sair da caixa de diálogo Change Log Levels (Alterar níveis de registro), clique em Done (Concluído).

Quando seu código é exibido no editor de código-fonte, você pode ver os números das linhas no lado esquerdo. Clique no número da linha para inspectResults(results);. Um ponto vermelho (1) aparece, indicando que um ponto de verificação foi criado.

Configurar um ponto de verificação

Agora você pode executar seu código e analisá-lo usando a guia Checkpoints (Pontos de verificação).

Guia Pontos de verificação

Usando a guia Checkpoints (Pontos de verificação), você pode visualizar exatamente onde a execução de seu código está falhando e quais os valores dos objetos que se encontram naquele ponto. Vamos executar esse código para ver o ponto de verificação em ação.

Selecione Debug (Depurar) | Open Execute Anonymous Window (Abrir janela Executar no modo anônimo). Insira o seguinte código e execute-o. Substitua Enter your email address (Insira seu endereço de email) pelo seu endereço de email.

EmailMissionSpecialist em = new EmailMissionSpecialist();
em.sendMail('Enter your email address', 'Flight Path Change', 
   'Mission Control 123: Your flight path has been changed to avoid collision '
   + 'with asteroid 2014 QO441.');

Depois que você executar o código do Apex com sucesso, abra seu registro de depuração e clique na guia Checkpoints (Pontos de verificação) para ver os resultados.

Guia Checkpoints (Pontos de verificação)
  • A tabela Checkpoints (Pontos de verificação) exibe o namespace, a classe e o número da linha de cada ponto de verificação. Ela também mostra a data e hora em que cada ponto de verificação foi criado.
  • A tabela Checkpoint Locations (Locais do ponto de verificação) exibe o nome do arquivo, o número da linha e as iterações capturadas pelo ponto de verificação selecionado.

Clique duas vezes em um ponto de verificação na tabela Checkpoints (Pontos de verificação) para ver os resultados capturados no Checkpoint Inspector. Agora a diversão vai começar!

Checkpoint Inspector

O Checkpoint Inspector tem duas guias: Heap e Symbols (Símbolos).
  • Heap – Exibe todos os objetos presentes na memória, na linha de código onde seu ponto de verificação foi executado.
  • Symbols (Símbolos) – Exibe todos os símbolos na memória, em modo de exibição em árvore.

Guia Heap

A guia Heap inclui excelentes painéis para depuração, como o painel Types (Tipos). Esse painel mostra quantos objetos foram instanciados e a memória que consumiram em bytes. Vamos dar uma olhada nos detalhes capturados pelo ponto de verificação que você definiu.
  1. Em Types (Tipos), clique em Messaging.SingleEmailMessage.
  2. Em Instances (Instâncias), clique em qualquer instância desse tipo de objeto.
  3. Em State (Estado), visualize os campos do objeto e seus valores.
A guia Heap no Checkpoint Inspector

Guia Symbols (Símbolos)

A guia Symbols (Símbolos) é uma maneira rápida e simples de revisar os estados de vários objetos em qualquer ponto de verificação. Símbolos são nomes exclusivos que fazem referência a objetos específicos. A guia exibe todos os símbolos na memória usando um modo de exibição em árvore.

A guia Symbols (Símbolos) no Checkpoint Inspector
Enquanto comandante, você não precisa apenas verificar se os sistemas estão funcionando sem problemas – precisa também rastrear erros. Vamos ver como o Checkpoint Inspector pode ajudar você a entender melhor seu código.
  1. Para limpar os resultados do ponto de verificação da guia, selecione Debug (Depurar) | Clear (Limpar) | Checkpoint Results Panel (Painel de resultados do ponto de verificação).
  2. Selecione Debug (Depurar) | Open Execute Anonymous Window (Abrir janela Executar no modo anônimo).
  3. Execute a classe EmailMissionSpecialist novamente, desta vez com um endereço de email inválido, como testingemail.
    EmailMissionSpecialist em = new EmailMissionSpecialist();
    em.sendMail('testingemail', 'Flight Path Change', 
       'Mission Control 123: Your flight path has been changed to avoid collision '
       + 'with asteroid 2014 QO441.');
  4. Depois de executar o código, clique na guia Checkpoints (Pontos de verificação).

A guia Checkpoints (Pontos de verificação) não mostra nenhum resultado, pois a execução de seu código não chegou ao número da linha onde seu ponto de verificação foi definido.

Resultados da guia Checkpoints (Pontos de verificação)
Vamos adicionar um ponto de verificação mais cedo no código, para podermos capturar informações no novo ponto de verificação antes que o código chegue ao testingemailerror.
  1. Selecione File (Arquivo) | Open (Abrir) e abra a classe EmailMissionSpecialist.
  2. Clique no número da linha à esquerda para String[] toAddresses = new String[] {address}.
  3. Selecione Debug (Depurar) | Clear (Limpar) | Checkpoint Results Panel (Painel de resultados do ponto de verificação).
  4. Selecione Debug (Depurar) | Open Execute Anonymous Window (Abrir janela Executar no modo anônimo).
  5. Execute a classe EmailMissionSpecialist novamente com um endereço de email inválido, como testingemail.
    EmailMissionSpecialist em = new EmailMissionSpecialist();
    em.sendMail('testingemail', 'Flight Path Change', 
       'Mission Control 123: Your flight path has been changed to avoid collision '
       + 'with asteroid 2014 QO441.');
  6. Clique na guia Checkpoints (Pontos de verificação).

Você vê uma nova entrada na guia Checkpoints (Pontos de verificação). Agora você pode analisar os objetos na memória usando o Checkpoint Inspector.

Resultados da guia Checkpoints (Pontos de verificação)
Compartilhe seu feedback do Trailhead usando a Ajuda do Salesforce.

Queremos saber sobre sua experiência com o Trailhead. Agora você pode acessar o novo formulário de feedback, a qualquer momento, no site Ajuda do Salesforce.

Saiba mais Continue compartilhando feedback