Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Table of Contents
maxLevel2

 

 


...


This topic describes how to debug XperienCentral plugins using Eclipse. It is assumed that XperienCentral is up and running and that the plugin has been deployed.

...

  1. Create a new launch application in the Run > Debug Configurations panel by selecting "Remote Java Application" and clicking the upper left-hand button:




  2. Give it a meaningful name ans select the project associated with the plugin.
  3. Ensure that the rest of the settings (Host, localhost, Port), are correct:




    During the start-up of XperienCentral Community Edition, Tomcat will also display this port in the console (dt_socket):





  4. Ensure that the source files you want to debug are referenced in the "Source" tab of the created launch configuration. For example:






  5. When you click [Debug], Eclipse will make a connect to your Tomcat installation.
  6. Switch to the "Debub" perspective (Window > Open Perspective > Debug). You can now add breakpoints to your Java classes using the right mouse button. For example:




    Using the buttons in the "Debug" perspective, you can now debug your plugin:





Back to Top

 

 


...


Hot Code Replacement

...

to Remotely Debug a Plugin

To allow Java code to be `hot replaced` while remote debugging from the Eclipse IDE, you need to add the following Java option to the start-up script of the Catalina server. This way you would not need to redeploy a plugin due to small changes in the Java code during debugging.

  1. Inside the start-up script of Tomcat (e.g. C:\GX\XperienCentral\apache-tomcat\bin\startup.bat) replace the following line:

    set JAVA_OPTS=%JAVA_OPTS% -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n

    with

    set JAVA_OPTS=%JAVA_OPTS% -Xdebug -agentlib:jdwp=transport=dt_socket,address=localhost:8000,server=y,suspend=n

  2. Restart Tomcat.

     

 

Back to Top

 

 

 

...



Back to Top


...

Remote Debugging with Java 9 and Higher

To remotely debug a plugin in Java 9 and higher, add the following to your Tomcat setenv.sh script:


Code Block
themeEclipse
CATALINA_OPTS="$CATALINA_OPTS -Xms512m -Xmx512m -verbosegc -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=*:8000 -Dcom.sun.management.jmxremote.port=9000 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"