Trailhead Playground を起動する
学習の目的
このプロジェクトでは、次のことを行います。
- デバッグセッションでブレークポイントとチェックポイントを設定して、コードのステップを順に実行し、特定の行番号の変数値を調べる。
- Visual Studio Code を使用して Apex テストを呼び出し、デバッグログをダウンロードする。
- Visual Studio Code 向け Apex Replay Debugger を使用してバグを見つけ、修正する。
はじめに
「設計フェーズで検出されなかったバグをコーディングフェーズで検出するにはコストが 10 倍かかり、デバッグフェーズで検出するコストはさらに 10 倍になる。」- Nikolai Bezroukov 博士、『The Art of Debugging (デバッグの技術)』
デバッグとテストは関連していますが、ソフトウェア開発上の異なるプロセスです。テストはエラーを見つけて報告するものです。デバッグはそうしたエラーの原因を突き止めて修正するものです。そして、Nikolai Bezroukov 博士によると、コード内のバグを見つけて始末するには早ければ早いほどよいということです。
Apex がサポートするテストでは、Apex テストの隔離実行のための完全なフレームワークが提供され、Sandbox やスクラッチ組織のような本番以外の組織も対象となります。Apex のデバッグのサポートは、System.debug
ステートメント、デバッグログ、デバッガーによって提供されます。
追跡フラグが有効になっている場合、Apex コードによってデバッグログが生成されます。これは、トランザクション内のすべての操作の記録です。Apex Replay Debugger では、デバッグログを使用してライブデバッグセッションをシミュレーションします。対話型デバッガーと同じように、変数値、コールスタック、ブレークポイントなどのログに記録された情報が提供され、Apex コードをデバッグできます。
Apex Replay Debugger とは?
Apex Replay Debugger はデバッグログを調査することで Apex コードをデバッグできる無料のツールで、Visual Studio Code をクライアントとして使用します。再生デバッガーの実行では、他のデバッガーに期待するのと同じ機能を使用できます。変数を参照したり、ブレークポイントを設定したり、変数にマウスポインターを置いて現在の値を確認したりできます。何千行ものログを手動で解析したり、コードのあちこちに System.debug
ステートメントを入れて変数値を表示したり、コード実行パスを追跡したりする必要はなくなりました。
また、Apex Replay Debugger を使用すれば、他のユーザーと非同期に作業してコラボレーションを行うことで問題を解決するのも容易になります。再生デバッガーセッションは任意の再生対応デバッグログから起動できるため、クライアントや同僚がデバッグログを共有して問題解決に協力できます。デバッグセッションを開始するには、Visual Studio Code でデバッグログを開き、ファイル内の任意の行を右クリックしてデバッガーを起動します。
デバッグプロセスはいくつかのステップの反復です。Apex コードを編集し、コードを組織にリリースし、バグのあるシナリオを再現し、結果のデバッグログをダウンロードし、そのデバッグログを使用して Apex Replay Debugger を起動します。
Apex Interactive Debugger とは?
Apex Interactive Debugger も Salesforce Extension Pack に含まれています。このデバッガーを使用すると、お客様は Visual Studio Code をクライアントとして使用し、自分の Apex コードを Sandbox やスクラッチ組織でリアルタイムでデバッグできます。
Apex Interactive Debugger には、管理パッケージをインストールする登録者と協力する独立系ソフトウェアベンダー (ISV) パートナー向けの機能もあります。管理コードは表示できないように保護されているため、登録者は自分の組織の ISV コードをデバッグできません。ISV カスタマーデバッガーを使用すれば、ISV は登録者と協力して、登録者の組織に固有の問題をデバッグできます。
Apex Interactive Debugger または ISV カスタマーデバッガーの価格設定の詳細については、Salesforce のアカウントエグゼクティブにお問い合わせください。
このプロジェクトでは無料の Apex Replay Debugger を設定して使用する方法に焦点を絞っています。
Trailhead Playground を作成する
このプロジェクト用に、新しい Trailhead Playground を作成します。このページの最下部までスクロールし、[Launch (起動)] の横にある下矢印をクリックして [Create a Trailhead Playground (Trailhead Playground を作成)] を選択します。
リソース
- 外部サイト: Apex Replay Debugger for Visual Studio Code (Visual Studio Code 向け Apex Replay Debugger)
- 外部サイト: Apex Interactive Debugger for Visual Studio Code (Visual Studio Code 向け Apex Interactive Debugger)
- 動画: YouTube: Banish the Bugs with the Apex Replay Debugger (Apex Replay Debugger でバグを排除する)
- Salesforce 開発者ブログ: Salesforce for VS Code: Apex Replay Debugger and More (VS Code 向け Salesforce: Apex Replay Debugger など)
- ヘルプ: デバッグログレベル
- 外部サイト: The Art of Debugging (デバッグの技術)
- Trailhead: Lightning プラットフォームの単体テスト