Apex Replay Debugger を使用してすべての組織を無料でデバッグ (正式リリース)

Apex Replay Debugger は、トランザクション内のすべての操作を記録するデバッグログを使用してライブデバッグセッションをシミュレーションします。数千ものログ行全体を手動で解析する必要は無くなりました。代わりに、Apex Replay Debugger が対話型デバッガと同様に、記録された情報を表示し、これにより、Apex コードをデバッグできます。このリリースでは、変数に関してデバッグログよりも多くの情報を提供するチェックポイントを追加しました。

対象: この変更は、Enterprise Edition、Performance Edition、Unlimited Edition、Developer Edition、および Database.com Edition の Lightning Experience、Salesforce Classic、およびすべてのバージョンの Salesforce アプリケーションに適用されます。

時期: Apex Replay Debugger は 2018 年 10 月 13 日の VS Code v44 向け Salesforce 拡張機能のリリース時に正式リリースされ、Summer '18 でリリースされたベータバージョンを置き換えます。

対象ユーザ: デバッグログの参照、保持、削除、およびチェックポイントの設定を行うには、「すべてのデータの参照」ユーザ権限が必要です。

理由: Salesforce の対話型デバッガである Apex デバッガは Sandbox およびスクラッチ組織のみをデバッグします。ただし、組織のソースコードとデバッグログがあれば、本番組織を含むあらゆる組織で Apex Replay Debugger を使用できます。Apex Replay Debugger は無料なだけではありません。これはオープンソースです!

VS Code v44 向け Salesforce 拡張機能では、チェックポイントを 5 つまで設定し、コードの行の実行時にヒープダンプを取得できます。すべてのローカル変数、静的変数、トリガコンテキスト変数にチェックポイントでの役に立つ情報が含まれます。トリガコンテキスト変数はログに存在せず、チェックポイントの場所でのみ使用できます。

方法: Visual Studio Code では、チェックポイントは 1 種のブレークポイントです。チェックポイントを設定してアップロードした後、Apex Replay Debugger セッションを開始します。チェックポイントをアップロードしてからすぐにセッションを開始してください。チェックポイントは 30 分後に期限切れになります。
  1. Apex クラスまたはトリガの最大 5 つの行にチェックポイントを設定します。
    1. チェックポイントを設定するコードの行をクリックします。
    2. コマンドパレットを開きます (macOS では Cmd+Shift+P キー、Windows または Linux では Ctrl+Shift+P キーを押します)。
    3. 「SFDX: Toggle Checkpoint」を実行します。

    または、行番号の左側の余白を右クリックし、[Add Conditional Breakpoint (条件付きブレークポイントを追加)] | [Expression (式)] を選択し、式を 「Checkpoint (チェックポイント)」 に設定します。

    また、既存のブレークポイントをチェックポイントに変換するには、ブレークポイントを右クリックし、[Edit Breakpoint (ブレークポイントを編集)] | [Expression (式)] を選択します。式を 「Checkpoint (チェックポイント)」 に設定します。

  2. チェックポイントを組織にアップロードしてヒープダンプ情報を収集できるようにするには、コマンドパレットを開き、「SFDX: Update Checkpoints in Org」 を実行します。
  3. Apex Replay Debugger セッションを設定し、デバッグするコードを実行して、コードをデバッグします。詳細は、「Apex Replay Debugger for Visual Studio Code (Visual Studio Code の Apex Replay Debugger)」のドキュメントを参照してください。

デバッグセッション中にコードをステップごとに実行すると、Apex Replay Debugger は、ヒープダンプを利用できる行のヒープダンプから変数に関する詳細を提供します。セッションを開始してからすぐにコードをデバッグしてください。ヒープダンプは、生成されてから約 1 日後に期限切れになります。

このデバッガは自分の組織でのみ使用できます。ISV カスタマーデバッグは Apex Replay Debugger では使用できません。顧客の組織をデバッグするには、ISV カスタマーデバッガを使用してください。