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.?
-
7catalina.bat jpda start – sanbhat May 22 '13 at 10:21
-
1possible duplicate of [Start tomcat 6 in debug mode?](http://stackoverflow.com/questions/5458212/start-tomcat-6-in-debug-mode) – Makoto May 24 '13 at 05:47
9 Answers
On windows
$ catalina.bat jpda start
On Linux/Unix
$ catalina.sh jpda start
More info ----> https://cwiki.apache.org/confluence/display/TOMCAT/Developing
- 2,042
- 1
- 10
- 11
- 44,013
- 17
- 87
- 109
-
Thanks, this helped me to setup the debug option in `startup.sh`. Editing the last line in `tomcat/bin/startup.sh` to `exec "$PRGDIR"/"$EXECUTABLE" jpda start "$@"`. I always forget to start in debug mode and I can save a 5minute restart. – TomasZ. Dec 22 '17 at 08:01
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
- 2,156
- 1
- 25
- 24
-
um yes, although 8000 and dt_socket are mentioned as defaults in catalina.bat, you actually have to set them as in the above post :/ – hello_earth Jun 24 '18 at 15:49
-
1
From your IDE, create a remote debug configuration, configure it for the default JPDA Tomcat port which is port 8000.
From the command line:
Linux:
cd apache-tomcat/bin export JPDA_SUSPEND=y ./catalina.sh jpda runWindows:
cd apache-tomcat\bin set JPDA_SUSPEND=y catalina.bat jpda runExecute 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.
- 2,772
- 2
- 16
- 18
- 5,838
- 4
- 38
- 57
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"
- 14,357
- 5
- 42
- 70
- 181
- 1
- 5
-
When using JAVA_OPTS -Xdebug you need not start catalina with jpda. Otherwise you may end up with this `ERROR: Cannot load this JVM TI agent twice, check your java command line for duplicate jdwp options.` – lnarasimhan Nov 17 '17 at 21:40
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
- 60,548
- 8
- 97
- 143
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.
- 8,624
- 10
- 67
- 92
There are two ways to run tomcat in debug mode
Using jdpa run
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
- 1,018
- 1
- 9
- 23
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
- 820
- 9
- 9
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.
- 63,511
- 37
- 265
- 281