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

  1. 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 script CQ_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:

  1. Öffnen Sie Eclipse.
  2. Wählen Sie Run > Debug Configurations.
  3. Klicken Sie mit der rechten Maustaste auf „Remote Java Applications“ und wählen Sie „New“.
  4. Wählen Sie Ihr AEM-Projekt unter „Projekt“ aus.
  5. 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)
  6. 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

Dieses Werk unterliegt den Bedingungen der Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.  Twitter™- und Facebook-Beiträge fallen nicht unter die Bedingungen der Creative Commons-Lizenz.

Rechtliche Hinweise   |   Online-Datenschutzrichtlinie