TechSupport
Crownpeak employee
Crownpeak employee

Debugging direkt aus der IDE

Dieses Dokument fasst die Einstellungen zusammen, die in der IDE gemacht werden müssen um Client- oder Servermodule (remote) aus der IDE zu debuggen. Das Beispiel richtet sich in diesem Fall nach der IntelliJ IDEA Entwicklungsumgebung.

Client

Das fs-client.jar muss im classpath liegen - z.B. als Maven-Dependancy mit dem scope "test" oder auch als "external library". Danach muss eine Run/Debug-Configuration vom Typ "Application" angelegt und wie folgt konfiguriert werden:

Main class: de.espirit.firstspirit.client.CMSExplorer

VM-Options (eine Zeile):

-Dhost=localhost -Dmode=HTTP -Dport=5100 -Dlogin=plain -Dlogin.user=Admin -Dlogin.password=Admin -Dlocale=de -DdevMode=1 -Dproject="Mithras Energy"

-Dhost: Host auf dem der FS-Server läuft

-Dport: Der HTTP-Port des Servers (nicht der debugging-Port!)

-Dproject: Der Name des Projektes, das im Client gestartet werden soll

-Dlogin.user: Username

-Dlogin.password: Passwort des Users

-DLogLevel=trace/debug/info

Mit diesen Einstellungen kann man dann (z.B. nach einem Maven install eines Moduls) den Client sehr schnell über den Play- oder Debug-Button in der oberen Leiste starten, ohne sich anmelden oder das Projekt wählen zu müssen.

Server

Achtung - nicht für produktive Server, lediglich zur Entwicklung!

Der Server muss zunächst im Debug-Mode gestartet sein. Hierzu müssen in der Datei fs-wrapper.conf folgende beiden Zeilen vorhanden sein:

wrapper.java.additional.27=-Xdebug

wrapper.java.additional.28=-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5105

Die Nummerierung der Einträge (wrapper.java.additional.XX) muss dabei fortlaufend sein, d.h. man benutzt einfach die nächsten beiden freien Nummern.

Mit dem Parameter "address" wird der Port angegeben, unter dem der Server für das Debugging erreichbar sein soll (=Debug-Port).

In der IDE legt man sich dann eine Remote-Debug-Konfiguration an.

Hier müssen lediglich Einstellungen bei "Host" und "Port" gemacht werden. Bei "Port" wird dann der in der fs-wrapper.conf unter dem Parameter "address" (s.o.) eingetragene Debug-Port gewählt.

Ggf. muss hier das entsprechende Modul (das man debuggen will) einmal gebaut und auf dem Server installiert werden.

Labels (1)