Apex - 调试



调试是任何编程开发中非常重要的部分。在Apex中,我们有一些可用于调试的工具。其中之一是system.debug()方法,它将变量的值和输出打印到调试日志中。

我们可以使用以下两种工具进行调试:

  • 开发者控制台
  • 调试日志

通过开发者控制台进行调试

您可以使用开发者控制台并执行匿名功能来调试Apex,如下所示:

示例

考虑我们现有的获取今天创建的客户记录的示例。我们只想了解查询是否返回结果,如果返回,我们将检查列表的值。

将以下代码粘贴到匿名执行窗口中,并按照我们打开匿名执行窗口所做的步骤操作。

步骤1 - 打开开发者控制台

步骤2 - 从“调试”中打开匿名执行,如下所示。

Open Developer Console for Class Eecution Step1

步骤3 - 打开匿名执行窗口,粘贴以下代码,然后单击执行。

Open Developer Console for Class Eecution Step2
// 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

步骤4 - 打开日志,如下所示。

Apex Debugging Devconsole Step1

步骤5 - 在筛选条件中输入“USER”,如下所示。

步骤6 - 打开USER调试语句,如下所示。

通过调试日志进行调试

您也可以通过调试日志调试相同的类。假设您在客户对象中有一个触发器,并且需要调试某些变量值,则可以通过调试日志进行操作,如下所示:

这是更新说明字段的触发器代码(如果修改的客户处于活动状态),并且您想要检查当前作用域内的变量和记录的值:

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);
      }
   }
}

按照以下步骤生成调试日志。

步骤1 - 设置您的用户的调试日志。转到设置,在设置窗口中键入“调试日志”,然后单击链接。

Debugging Via Debug Console Step1

步骤2 - 设置调试日志,如下所示。

Debugging Via Debug Console Step2

Debugging Via Debug Console Step3

步骤3 - 输入需要设置的用户名称。在此处输入您的姓名。

Debugging Via Debug Console Step4

步骤4 - 修改客户记录,以便事件发生以生成调试日志。

Debugging Via Debug Console Step5

步骤5 - 现在再次转到调试日志部分。打开调试日志并单击“重置”。

Debugging Via Debug Console Step6

步骤6 - 单击第一个调试日志的查看链接。

Debugging Via Debug Console Step7

步骤7 - 使用浏览器搜索,搜索字符串“USER”,如下所示。

Debugging Via Debug Console Step8

调试语句将显示我们在其中设置断点的字段的值。

广告