ISV カスタマーデバッガ
ISV カスタマーデバッガは、Apex デバッガで実行可能な操作を補完するものです。ISV は、各自のコードをデバッグできます。登録者も、各自のコードをデバッグできます。ただし、管理コードは保護され、表示できないため、登録者は各自の組織の ISV コードをデバッグすることができません。その場合に ISV カスタマーデバッガを使用すると、ISV が登録者と協力して、登録者の組織に固有の問題をデバッグできます。
ISV は特定の環境で問題を再現できるため、問題が迅速に診断されます。デバッグを実行できるのは Sandbox 組織のみです。
ISV カスタマーデバッガの設定
ISV カスタマーデバッガは、Apex 対話型デバッガ (salesforcedx-vscode-apex-debugger
) 拡張機能に付属するため、Salesforce Extension Pack とその前提条件以外に何もインストールする必要がありません。デバッグを実行できるのは Sandbox 組織のみです。
- ライセンス管理組織 (LMO) 経由で登録者の Sandbox にログインします。このプロセスがよくわからない場合は、『ISVforce ガイド』を参照してください。登録者の組織へのログインアクセス権の取得方法については、「顧客からのログインアクセスの要求」を参照してください。登録者サポートコンソール経由でログインする方法については、「登録者組織へのログイン」を参照してください。
- 登録者の組織で、[設定] から、[クイック検索] ボックスに「Apex デバッガ」と入力し、[Apex デバッガ] をクリックします。
- [パートナーデバッグセッションを開始] をクリックします。
- [VS Code 向け Salesforce 拡張機能を使用している場合] セクションで、
forceide://
URL をコピーして、[クリップボードにコピー] をクリックします。 - VS Code で、Ctrl+Shift+P キー (Windows、Linux) または Cmd+Shift+P キー (macOS) を押してコマンドパレットを開き、[SFDX: Create and Set Up Project for ISV Debugging (ISV デバッグ用プロジェクトを作成および設定)] を実行します。
- 指示に従って、
forceide://
URL をプロンプトに貼り付け、Enter キーを押します。 - 指示に従って、デフォルトのプロジェクト名を受け入れるか、デバッグプロジェクトの名前を入力して、Enter キーを押します。
- プロジェクトを保存する場所を選択して、[Create Project (プロジェクトを作成)] をクリックします。
- プロジェクトの生成プロセスが終了するまで待機します。VS Code が、パッケージ化されたメタデータ、登録者のメタデータ、組織の他のパッケージのスケルトンクラスを取得して、ソース形式に変換し、Salesforce DX プロジェクトを作成します。また、このプロジェクトの起動定義 (
launch.json
ファイル) も作成します。特に大量のメタデータがある組織では、このプロセスに時間がかかるため、実行したままにして後で確認しても構いません。VS Code の下部にある出力パネルで進行状況を監視できます。出力パネルを表示するには、[View (表示)] > [Output (出力)] を選択し、[Output (出力)] タブの隅にあるドロップダウンメニューから [Salesforce CLI] を選択します。
プロジェクトの準備ができたら、VS Code の新しいウィンドウにプロジェクトが開きます。 - 新しいウィンドウで、[Explorer (エクスプローラ)] ビューから、ブレークポイントを設定する Apex クラスまたはトリガを開きます。
- ブレークポイントを設定するには、行番号の左側にある余白をクリックします。
- [Debug (デバッグ)] ビューに切り替えます。
- Apex デバッガを起動するには、起動定義ドロップダウンメニューの横にある再生アイコンをクリックします。
登録者の組織のデバッグ
特筆すべき 1 つの例外を除き、登録者の組織のデバッグも他の組織のデバッグと同じように機能します。例外は、組織の他のユーザがトリガした Apex イベントで中断できない点です。Apex ブレークポイントの到達イベントをトリガできるのは「別名でログイン」ユーザのみです。
Apex デバッガについての詳細は、この README の残りの部分を参照してください。VS Code のデバッグの一般情報については、『Visual Studio Code Docs』の「Debugging (デバッグ)」を参照してください。
デバッグセッションの更新
セッションの期限が切れたら、[設定] から、元のセッションの開始時に行った手順をすべて実行して、新しいセッションを開始します。
登録者の知的財産の保護
登録者の組織から取得したコードは、登録者の知的財産です。デバッグが終了した後もコードを保持しないようにしてください。プロジェクト全体を、設定プロセス時に保存した場所から削除します。登録者のメタデータを自身のバージョン管理システムに絶対に保存しないでください。後々新しいデバッグセッションを開始するときは、VS Code がメタデータを再度ダウンロードします。
ISV カスタマーデバッガに関する考慮事項
Apex デバッガの一般的な制限と既知の問題については、「Apex 対話型デバッガ」トピックの「考慮事項」を参照してください。ISV カスタマーデバッガを使用するときは、次の点に留意します。
- デバッグを実行できるのは Sandbox 組織のみです。
- 一度に 1 人の顧客のみをデバッグできます。ただし、Apex デバッガライセンスを購入している場合は、一度に複数の顧客をデバッグできます。Apex デバッガライセンスがある場合には、Sandbox 組織やスクラッチ組織でもデバッグできます。
- [登録者の概要に戻る] をクリックすると、デバッグセッションが終了します。デバッグ中は登録者の組織にログインしたままにし、デバッグが終了した時点で LMO に戻ります。