Problem
Wie debuggen wir unsere Anwendung auf einem Remote- (oder Lokal-)AEM-Server?
Lösung
Um eine AEM-Anwendung zu debuggen, können Sie Java-Remote-Debugging verwenden.
Warnung: Aktivieren Sie Remote-Debugging in Ihrer Produktionsumgebung nur, wenn es erforderlich ist, da es die Leistung Ihrer Anwendung stark beeinträchtigen kann.
Schritt 1: Fügen Sie JVM-Parameter-Remote-Debugging hinzu
- Um Remote-Debugging zu verwenden, müssen Sie AEM mit diesem JVM-Parameter starten:
-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n
Fügen Sie den Parameter hinzu, indem Sie einen der folgenden Schritte ausführen:
- Fügen Sie es zu Ihrer
crx-quickstart/bin/start
scriptCQ_JVM_OPTS
-Umgebungsvariable hinzu (damit Ihr Server immer im Debug-Modus startet). - Fügen Sie es als Parameter ein, wenn Sie AEM mit
java -jar
direkt starten. Zum Beispiel:java -Xmx512m -agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n -jar cq-author-4502.jar
Anmerkungen
- Bei Bedarf können Sie den unter „....,address=8000,....“ definierten Port von 8000 auf einen Wert ändern, der in Ihrer Umgebung besser funktioniert.
- Wenn Sie feststellen, dass es nicht funktioniert, vermeiden Sie es, den Java-Prozess zu forken, indem Sie die Befehlszeilenoption -nofork angeben.
- Das Startskript befindet sich unter crx-quickstart/bin
Schritt 2: Starten Sie eine Remote-Debugging-Sitzung
Um eine Remote-Debugging-Sitzung von Eclipse aus zu starten, gehen Sie wie folgt vor:
- Öffnen Sie Eclipse.
- Wählen Sie Run > Debug Configurations.
- Klicken Sie mit der rechten Maustaste auf „Remote Java Applications“ und wählen Sie „New“.
- Wählen Sie Ihr AEM-Projekt unter „Projekt“ aus.
- Geben Sie den Port aus der „address“-Konfiguration des oben definierten jvm-Parameters ein. Im Beispiel ist es Port 8000 (und der Hostname des Computers, mit dem Sie eine Verbindung herstellen möchten, meistens localhost)
- Um eine Debugging-Sitzung zu starten, doppelklicken Sie nach dem Speichern auf Ihre neue Konfiguration im Debug-Konfigurationsfenster.
Gilt für: Adobe Experience Manager 6.x