How to start debug mode from command prompt for apache tomcat server?

JavaTomcat

Java Problem Overview


I want to start debug mode for my application. But I need to start the debug mode from command prompt. Is it possible ? And will the procedure vary between tomcat 5.5 to tomcat 6.?

Java Solutions


Solution 1 - Java

On windows
$ catalina.bat jpda start
On Linux/Unix
$ catalina.sh jpda start

More info ----> https://cwiki.apache.org/confluence/display/TOMCAT/Developing

Solution 2 - Java

For windows first set variables:

set JPDA_ADDRESS=8000
set JPDA_TRANSPORT=dt_socket

to start server in debug mode:

%TOMCAT_HOME%/bin/catalina.bat jpda start

For unix first export variables:

export JPDA_ADDRESS=8000
export JPDA_TRANSPORT=dt_socket

and to start server in debug mode:

%TOMCAT_HOME%/bin/catalina.sh jpda start

Solution 3 - Java

  1. From your IDE, create a remote debug configuration, configure it for the default JPDA Tomcat port which is port 8000.

  2. From the command line:

    Linux:

     cd apache-tomcat/bin
     export JPDA_SUSPEND=y
     ./catalina.sh jpda run
    

    Windows:

     cd apache-tomcat\bin
     set JPDA_SUSPEND=y
     catalina.bat jpda run
    
  3. Execute the remote debug configuration from your IDE, and Tomcat will start running and you are now able to set breakpoints in the IDE.

Note:

The JPDA_SUSPEND=y line is optional, it is useful if you want that Apache Tomcat doesn't start its execution until step 3 is completed, useful if you want to troubleshoot application initialization issues.

Solution 4 - Java

A short answer is to add the following options when the JVM is started.

JAVA_OPTS=" $JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8080"

Solution 5 - Java

First, Navigate to the TOMCAT-HOME/bin directory.

Then, Execute the following in the command-line:

catalina.bat jpda start

If the Tomcat server is running under Linux, just invoke the catalina.sh program

catalina.sh jpda start

It's the same for Tomcat 5.5 and Tomcat 6

Solution 6 - Java

These instructions worked for me on apache-tomcat-8.5.20 on mac os 10.13.3 using jdk1.8.0_152:

$ cd /path/to/apache-tomcat-8.5.20/bin
$ export JPDA_ADDRESS="localhost:12321"
$ ./catalina.sh jpda run

Now connect to port 12321 from IntelliJ/Eclipse and enjoy remote debugging.

Solution 7 - Java

There are two ways to run tomcat in debug mode

  1. Using jdpa run

  2. Using JAVA_OPTS

First setup the environment. Then start the server using following commands.

export JPDA_ADDRESS=8000

export JPDA_TRANSPORT=dt_socket

%TOMCAT_HOME%/bin/catalina.sh jpda start

sudo catalina.sh jpda start

refer this article for more information this is clearly define it

Solution 8 - Java

If you're wanting to do this via powershell on windows this worked for me

$env:JPDA_SUSPEND="y"

$env:JPDA_TRANSPORT="dt_socket"

/path/to/tomcat/bin/catalina.bat jpda start

Solution 9 - Java

Inside catalina.bat set the port on which you wish to start the debugger

if not "%JPDA_ADDRESS%" == "" goto gotJpdaAddress
set JPDA_ADDRESS=9001

Then you can simply start the debugger with

catalina.bat jpda 

Now from Eclipse or IDEA select remote debugging and start start debugging by connecting to port 9001.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionKarthiView Question on Stackoverflow
Solution 1 - JavaMohammad AdilView Answer on Stackoverflow
Solution 2 - Javakrzysiek.steView Answer on Stackoverflow
Solution 3 - JavaJaime HablutzelView Answer on Stackoverflow
Solution 4 - JavaMarcel ZebrowskiView Answer on Stackoverflow
Solution 5 - JavaKonstantin YovkovView Answer on Stackoverflow
Solution 6 - Javauser674669View Answer on Stackoverflow
Solution 7 - JavaTharinduKetipeView Answer on Stackoverflow
Solution 8 - JavaMarkyMarksFunkyBunchView Answer on Stackoverflow
Solution 9 - JavaAniket ThakurView Answer on Stackoverflow