ApexのDebug方法

By | September 8, 2023

前書き

ここでは、ログの確認方法から遡行するかたちでDebug方法を分類する

ApexのDebug方法一覧

  1. Developer Console上でのExecution Logの確認
  2. SF上でのDebug Logの確認
  3. VS Code上でのDebug Logの確認

手法1:Developer Console上でのExecution Logの確認

◾️概要

Developer Consoleを開いた状態でトランザクションを実行した場合、実行ログを一覧から確認することができる。

◾️事前設定

  • Devloper ConsoleのDebug > Perspective ManagerでPerspectiveをAnalysisなどに変更し、Log Inspecterの機能が利用できるようにする
  • Debug > Change Log Levels > General Trace Settings for YouからDebugLevelを変更する

◾️操作手順

  1. 任意の方法でメソッドを実行
    • SF上での操作
      • 匿名実行 on Dev Console
      • テスト実行 on Dev Console
    • VS Code上での操作
      • 匿名実行 on VS Code
      • テスト実行 on VS Code
  2. Dev ConsoleのLog一覧から実行ログを確認する(ファイルサイズが原因で省略が発生している場合は、右クリックでRaw Logを直接確認する)

手法2:SF上でのDebug Logの確認

◾️概要

ユーザ(やクラスやトリガー)に追跡フラグを付けることで、Debug Logを記録することができる。

◾️操作手順

  • 以下のいずれの場所から追跡フラグを新規追加する
    • Debug > Change Log Levels > Class and Trigger Trace Overrides / User Tracing for All Usersから追跡フラグをadd
    • 設定 > デバッグログからユーザ追跡フラグを新規追加
  • 設定 > デバッグログからデバッグログをダウンロードする

手法3:VS Code上でのDebug Logの確認

◾️概要

Apex Repley Debuggerの利用により、VS Code上で①追跡フラグの有効化②ブレークポイントの追加③デバッグログの確認などを行うことができる。

これにより「デバッグの実行→ログの確認」をVS Code内で完結させることができるようになる。

◾️操作手順(デバッグ実行)

@isTestアノテーション付きのクラス/メソッド上部のDebug Testをクリック

◾️操作手順(トランザクション実行)

  1. 追跡フラグの有効化:SFDX: Turn On Apex Debug Log for Replay Debugger
  2. デバッグシナリオの再現
    • SFDX: Run Apex Tests
    • SFDX: Execute Anonymous Apex with Currently Selected Text
    • SFDX: Execute Anonymous Apex with Editor Contents
  3. ログの取得:SFDX: Get Apex Debug Logs
  4. ログを選択し、Apex Replay Debuggerを起動:SFDX: Launch Apex Replay Debugger with Current File