プラグインのデバッグに関する一般的な情報は、Dataverse のトピック プラグインのデバッグ にあります。 次の手順では、Dynamics 365 Customer Engagement (on-premises) で実行されるプラグインをデバッグする方法について説明します。
注
任意のデプロイメント・タイプのサンドボックスで実行されるプラグインをデバッグする別の方法は、トレース・サービスを使用することです。 トレースの詳細については、「 ログ記録とトレース」を参照してください。 チュートリアルを含むデバッグの詳細については、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) をサーバー\bin\assembly folder on the server running the sandbox worker process named Microsoft.Crm.Sandbox.WorkerProcess.exeにコピーします。 これは、サンドボックス処理サービスの役割をホストしているサーバーです。
このトピックの冒頭で示した手順 2 から 4 の指示に従います。
プラグインプロファイラーツールを使用したプラグインのデバッグの詳細については、「 プラグインのデバッグ」を参照してください。