hbarthel
New Responder

Debugging direkt aus der IDE Isolated mode

Hallo Community,

auf Debugging direkt aus der IDE ist beschrieben, wie das mit fs-client.jar geht. Gibt es sowas auch für fs-isolated-client?

Danke und Gruß, Heiko

21 Replies

Hallo Felix und Hüseyin,

es gibt tatsächlich eine Möglichkeit, über den Launcher gestartete Clients für ein Remote-Debugging vorzukonfigurieren.

Ich muss hier noch abklären, über welchen Weg diese Möglichkeit kommuniziert werden kann. Daher bitte ich um ein wenig Geduld. Smiley Happy

Beste Grüße

Stefan

Moin,

anscheinend gibt es keinen offiziellen Weg dazu, dann packe ich das jetzt einfach mal hier als Antwort rein.  

Das Debugging kann man über einen Eintrag in der FSLauncher.vmoptions Datei aktivieren. Diese befindet sich unter Windows im AppData-Bereich für den FSLauncher. Dort kann der folgende Eintrag hinzugefügt werden:

-DclientDebugging=true


Ist dies aktiviert, wird beim Starten eines Clients ein Port ausgewürfelt und als Agent-Port vergeben. Welcher Port es ist, wird im Launcher angezeigt:

launcher_debug_port.jpg

Dieser kann dann für das übliche Remote-Debugging aus der IDE heraus genutzt werden.

Ich hoffe, das hilft.

Beste Grüße

Stefan

Hi Stefan,

super - vielen Dank. Funktioniert einwandfrei 🙂

Dann drücke ich mal die Daumen, dass uns dieser inoffizielle Weg lange erhalten bleibt 😉

Viele Grüße

Felix

0 Kudos

mhhh, ich kann die besagte FSLauncher.vmoptions leider nirgends finden (unter Windows). Hab die ganze Festplatte abgesucht.

Habt ihr vlt. noch einen sachdienlicher Hinweis was ich da falsch machen könnte? Ich benutze den Launcher, er ist auch am laufen und auch ein SiteArchitect ist offen .. trotzdem finde ich leider nix 😕

0 Kudos

Hey SebastianStiemer​,

Ich konnte die Datei unter folgendem Pfad finden:

C:\Users\user-xyz\AppData\Local\Programs\

Dort liegen - in meinem Fall - 2 FSLauncher Ordner und in beiden finde ich die besagte Datei.

Wenn dort nichts ist, dann weiß ich es leider auch nicht

Der AppData-Ordner ist im Normalfall ausgeblendet.

V.G. Matthias

Vielen Dank. Ja da hab ich die Datei auch. Smiley Happy

0 Kudos
larsquitsch
Returning Observer

Hat jemand eine Ahnung, wo ich die Datei beim Mac finde? bzw. wie das dorf funktionieren könnte?

Viele Grüße,

Lars

0 Kudos
bIT_sosswald
Returning Responder

Hi zusammen,

ist das wirklich die einzige Möglichkeit den Launcher einen Port würfeln zu lassen? Dann muss ich ja bei jedem Start meine Debug-Config in der IDE ändern. 😞

Der Alte weg den Client direkt über eine entsprechende Run-Configuration aus der IDE zu starten fand ich da auch deutlich eleganter.

Hat schon jemand rausgefunden wie das geht? Bzw. gibt es da von e-Spirit einen offiziellen Weg?

Beste Grüße

Sandro

0 Kudos

auf dem Mac: "/Applications/FirstSpirit Launcher.app/Contents/vmoptions.txt" Die Datei gibt es da bereits.

0 Kudos
mbergmann
Crownpeak employee

Hallo,

es gibt noch eine andere (allerdings genauso inoffizielle!) Variante des SA-Starts aus der IDE.

Die hat sogar den Vorteil, dass - wenn man in der IDE den "debug" statt des "start"-Buttons wählt - bei clientseitig ausgeführtem Code die lokalen Klassen benutzt werden. Dadurch kann man die mal schnell anpassen und testen ohne immer das FSM installieren zu müssen. Man muss allerdings jeweils den SA einmal beenden und über die IDE wieder starten. Falls Einträge in der module.xml hinzugefügt/angepasst werden, muss das FSM neu gebaut und installiert werden, weil die module.xml lokal natürlich nicht ausgewertet wird.

Voraussetzung ist, dass die fs-isolated-client.jar als Dependency eingetragen ist - und zwar in der Reihenfolge vor der fs-isolated-runtime.jar.

Hier am Beispiel von IntelliJ

Eine Run-Configuration vom Typ "Application" anlegen.

Main Class: de.espirit.common.bootstrap.Bootstrap

VM-Options:
(Achtung, nicht Program arguments! - in IntelliJ muss man die je nach Version erst über "modify options" hinzufügen)

-Dhost=<fs-host>

-Dmode=HTTP

-Dport=<port>

-Dlogin=plain

-Dlogin.user=<user>

-Dlogin.password=<password>

-Dlocale=<client-locale>

-DdevMode=1

-Dproject="<project-name>"

-DLogLevel=[info|warn|error|debug]

also zum Beispiel:

-Dhost=localhost

-Dmode=HTTP

-Dport=8000

-Dlogin=plain

-Dlogin.user=bergmann

-Dlogin.password=Mb2.r5oHf-0t

-Dlocale=en

-DdevMode=1

-Dproject="Mithras Energy"

-DLogLevel=info

Viele Grüße

Michael