設置型の登録済みプラグインをデバッグする
プラグインのデバッグに関する一般的な情報は、 Dataverse のトピック プラグインのデバッグ を参照してください。 Dynamics 365 Customer Engagement (on-premises) で実行するプラグインをデバッグする手順を以下に示します。
Note
任意の展開の種類のサンドボックスで実行されるプラグインをデバッグする別の方法は、トレース サービスを使用することです。 トレースについての詳細は ログおよびトレース を参照してください。 チュートリアルを含むプラグインのデバッグに関する詳細は、 Dataverse のトピック プラグインのデバッグを参照してください。
プラグインのデバッグ
プラグイン アセンブリを登録して展開します。
同じ場所にアセンブリの別のコピーがあり、そのコピーが Dynamics 365 Customer Engagement (on-premises) によってロックされているため上書きできない場合は、プラグインを実行していたサービス プロセスを再開する必要があります。 適切なサービス プロセスについては、以下の表を参照してください。 詳細: プラグインの登録および展開
デバッガーを構成します。
プラグインを実行する Dynamics 365 Server 上のプロセスにデバッガーを追加します。 プロセスを識別するには、次の表を参照してください。
プラグイン登録構成 サービス プロセス オンライン w3wp.exe オフライン Microsoft.Crm.Application.Hoster.exe 非同期の登録プラグイン (またはユーザー定義のワークフロー アセンブリ) CrmAsyncService.exe サンドボックス (分離モード) Microsoft.Crm.Sandbox.WorkerProcess.exe 同じ実行可能ファイルを実行している複数のプロセス (たとえば、複数の w3wp.exe プロセス) がある場合は、実行中の実行可能ファイルのプロセスのすべてのインスタンスにデバッガーをアタッチします。 次に、プラグイン コードに 1 つ以上のブレークポイントを設定します。
プラグインをテストします。
Dynamics 365 Customer Engagement (on-premises) アプリケーションまたは SDK を使用する他のカスタム アプリケーションを実行して、プラグインの起動に必要なアクションを実行します。 たとえば、プラグインが取引先企業の作成イベントに登録されている場合は、新しい取引先企業を作成します。
プラグイン コードをデバッグします。
コードが意図したとおりに実行されるように、必要な変更を加えます。 コードを変更した場合は、そのコードをアセンブリにコンパイルし、必要に応じてこの手順の 1 ~ 4 を繰り返します。 ただし、プラグイン アセンブリのメジャーまたはマイナーのバージョン番号を変更する場合は、アセンブリの以前のバージョンの登録を解除して、新しいバージョンを登録する必要があります。 詳細: プラグインの登録および展開
データベースにプラグインを登録します。
プラグインの編集、コンパイル、デプロイ、テスト、デバッグがひと通り完了したら、(ディスク上または GAC) のプラグイン アセンブリの登録を解除し、次に、Dynamics 365 Customer Engagement (on-premises) データベースにプラグインを再登録します。 詳細: プラグインの登録および展開
チップ
データベースで展開されたプラグインをデバッグできます。 コンパイル済みのプラグイン アセンブリのシンボル ファイル (.pdb) を、サーバーの <crm-root>\Server\bin\assembly フォルダーにコピーしてから、インターネット インフォメーション サービス (IIS) を再起動する必要があります。 プラグインを実行していたプロセスが余分なメモリを消費してしまうことのないように、デバッグが完了したら、シンボル ファイルを削除し、IIS をリセットしてください。
プラグイン プロファイラー ツールを使用したプラグインのデバッグの詳細については、プラグインのデバッグ を参照してください。
隔離されたプラグインのデバッグ
ここで説明する手順は、隔離されたプラグインを最初に実行する前に行うことが重要です。 プラグインが既に実行されている場合は、アセンブリのコードを変更してアセンブリのハッシュがサーバーで変更されるようにするか、サンドボックス サーバーで Dynamics 365 Customer Engagement (on-premises) サンドボックス処理サービスを再開します。
設置型サーバーの構成
サンドボックス ホスト プロセスでは、プラグインを実行しているサンドボックス ワーカー プロセスを監視します。 また、このプロセスでは、メモリのしきい値を超えた場合などに、プラグインが応答を停止するかどうかを確認します。 30 秒以上応答のないワーカー プロセスはシャットダウンされます。 サンドボックス プラグインをデバッグするには、このシャットダウン機能を無効にする必要があります。 シャットダウン機能を無効にするには、次のレジストリ キーを 1 (DWORD
) に設定します。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSCRM\SandboxDebugPlugins
プラグインのデバッグ
隔離されたプラグインをデバッグするには、次の手順に従います。
サンドボックス (分離モード) でプラグインを登録し、 Dynamics 365 Server データベースにそのプラグインを展開します。
コンパイル済みのプラグイン アセンブリのシンボル ファイル (.pdb) を、Microsoft.Crm.Sandbox.WorkerProcess.exe というサンドボックス ワーカー プロセスを実行しているサーバーの server\bin\assembly フォルダーにコピーします。 これは、サンドボックス処理サービス ロールをホストしているサーバーです。
このトピックの最初に示した手順 2 ~ 4 の指示に従います。
プラグイン プロファイラー ツールを使用したプラグインのデバッグの詳細については、プラグインのデバッグ を参照してください。