問題点
リモート(またはローカル)AEM サーバーで実行しているアプリケーションのデバッグ方法を教えてください。
解決策
CQ5 アプリケーションをデバッグするには、Java リモートデバッグを使用できます。
警告:アプリケーションのパフォーマンスに大きな影響が出ることがあるため、必要ではない限り、稼働環境のリモートデバッグを有効にしないでください。
手順1:リモートデバッグ JVM パラメーターの追加
- リモートデバッグを使用するためには、次の JVM パラメターの AEM を起動する必要があります。-agentlib:
jdwp=transport=dt_socket,address=8000,server=y,suspend=n
パラメーターを追加するには、次のいずれかの操作を行います。
crx-quickstart/bin/start
スクリプトCQ_ JVM_ OPTS
環境変数に追加します(このため、サーバーはデバッグモードで始まっている必要があります)。- 直接
java- jar
を使用して AEM を起動したときにパラメーターとして含めます。例えば、java -Xmx512m -agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n -jar cq-author-4502.jar
注意
- 必要に応じて、定義されているポートを「address=8000,…」下で変更することができ、8000~環境内で最適なものにします。
- この問題が解決しない場合は、- nofork コマンドラインオプションを指定して、Java プロセスをフォークしないでください。
- 起動スクリプトは CQ のバージョン5.5以上用の crx-quickstart/server の下にあります。
手順2:リモートデバッグセッションを開始
Eclipse からリモートデバッグセッションを開始するには、次の操作を行います。
- Eclipse を開きます。
- 「設定のデバッグを実行する」を選択します。
- 「リモート Java アプリケーション」を右クリックし、「新規」を選択します。
- プロジェクト内の CQ5 プロジェクトを選択します。
- 上記の jvm パラメーターの「address」構成からポートを入力します。例では、ポート8000。(および接続するマシンのホスト名、ローカルホストホスト名である場合が多い)
- デバッグセッションを開始するには、保存後にデバッグの構成画面で新しい設定をダブルクリックします。
Adobe Experience Manager 6.x に適用されます。