Reputation: 1211
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.?
Upvotes: 99
Views: 301003
Reputation: 486
I just encountered an issue on Windows Server where all the other solution did not work. The port 8000 is open all the time but cannot be access from remote machines. The solution was to add the following Java options:
-Xdebug
-Xrunjdwp:transport=dt_socket,address=0.0.0.0:8000,server=y,suspend=n
Note the 0.0.0.0
in the address parameter. Otherwise, as netstat -ano | find "8000"
showed, the process is only listening for connections from 127.0.0.1.
Upvotes: 0
Reputation: 5185
If you want to keep this always when your service is running, you should edit your bin/startup.sh
. There add 'jpda' parameter right here
exec "$PRGDIR"/"$EXECUTABLE" jpda start "$@"
instead of original
exec "$PRGDIR"/"$EXECUTABLE" start "$@"
Upvotes: 0
Reputation: 311
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"
Upvotes: 16
Reputation: 1200
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
Upvotes: 1
Reputation: 44740
On windows
$ catalina.bat jpda start
On Linux/Unix
$ catalina.sh jpda start
More info ---->
https://cwiki.apache.org/confluence/display/TOMCAT/Developing
Upvotes: 140
Reputation: 1066
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
Upvotes: 3
Reputation: 12412
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.
Upvotes: 4
Reputation: 6342
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 run
Windows:
cd apache-tomcat\bin
set JPDA_SUSPEND=y
catalina.bat jpda run
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.
Upvotes: 29
Reputation: 69035
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.
Upvotes: 0
Reputation: 2276
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
Upvotes: 61
Reputation: 62884
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
Upvotes: 6