Apex - Depuração

A depuração é uma parte importante em qualquer desenvolvimento de programação. No Apex, temos certas ferramentas que podem ser usadas para depuração. Um deles é o método system.debug () que imprime o valor e a saída da variável nos logs de depuração.

Podemos usar as duas ferramentas a seguir para depuração -

  • Console do desenvolvedor
  • Registros de depuração

Depuração via console do desenvolvedor

Você pode usar o console do desenvolvedor e executar a funcionalidade anônima para depurar o Apex conforme abaixo -

Example

Considere nosso exemplo existente de buscar os registros do cliente que foram criados hoje. Queremos apenas saber se a consulta está retornando os resultados ou não e se sim, verificaremos o valor de List.

Cole o código fornecido abaixo em executar janela anônima e siga os passos que fizemos para abrir a janela executar anônima.

Step 1 - Abra o console do desenvolvedor

Step 2 - Abra Executar anônimo em 'Depurar', conforme mostrado abaixo.

Step 3 - Abra a janela Executar anônimo, cole o seguinte código e clique em executar.

// Debugging The Apex
List<apex_customer__c> customerList = new List<apex_customer__c>();
customerList = [SELECT Id, Name FROM APEX_Customer__c WHERE CreatedDate =
today];
// Our Query
System.debug('Records on List are '+customerList+' And Records are '+customerList);
// Debug statement to check the value of List and Size

Step 4 - Abra os Logs conforme mostrado abaixo.

Step 5 - Insira 'USUÁRIO' na condição de filtro conforme mostrado abaixo.

Step 6 - Abra a instrução USER DEBUG conforme mostrado abaixo.

Depuração por meio de registros de depuração

Você também pode depurar a mesma classe por meio de logs de depuração. Suponha que você tenha um gatilho no objeto Cliente e precise ser depurado para alguns valores de variáveis, então você pode fazer isso por meio dos logs de depuração, conforme mostrado abaixo -

Este é o Código de Disparo que atualiza o campo Descrição se o cliente modificado estiver ativo e você quiser verificar os valores das variáveis ​​e registros atualmente no escopo -

trigger CustomerTrigger on APEX_Customer__c (before update) {
   List<apex_customer__c> customerList = new List<apex_customer__c>();
   for (APEX_Customer__c objCust: Trigger.new) {
      System.debug('objCust current value is'+objCust);
      
      if (objCust.APEX_Active__c == true) {
         objCust.APEX_Customer_Description__c = 'updated';
         System.debug('The record which has satisfied the condition '+objCust);
      }
   }
}

Siga as etapas fornecidas abaixo para gerar os logs de depuração.

Step 1- Defina os logs de depuração para seu usuário. Vá para Configuração e digite 'Registro de depuração' na janela de configuração de pesquisa e clique em Link.

Step 2 - Defina os logs de depuração conforme a seguir.

Step 3- Insira o nome do usuário que requer configuração. Escreva o seu nome aqui.

Step 4 - Modifique os registros do cliente conforme o evento deve ocorrer para gerar o log de depuração.

Step 5- Agora vá para a seção de logs de depuração novamente. Abra os logs de depuração e clique em Reset.

Step 6 - Clique no link visualizar do primeiro log de depuração.

Step 7 - Pesquise a string 'USER' usando a pesquisa do navegador conforme mostrado abaixo.

A instrução de depuração mostrará o valor do campo no qual definimos o ponto.