我想为我的应用程序启动调试模式。但是我需要从命令提示符启动调试模式。可能吗 ?在tomcat 5.5和tomcat 6之间,该过程是否会有所不同?
Answers:
$ catalina.bat jpda start
在Linux / Unix上
$ catalina.sh jpda start
更多信息---->
https://cwiki.apache.org/confluence/display/TOMCAT/Developing
startup.sh
。编辑在最后一行tomcat/bin/startup.sh
来exec "$PRGDIR"/"$EXECUTABLE" jpda start "$@"
。我总是忘记以调试模式启动,并且可以节省5分钟的重启时间。
对于Windows,首先设置变量:
set JPDA_ADDRESS=8000
set JPDA_TRANSPORT=dt_socket
以调试模式启动服务器:
%TOMCAT_HOME%/bin/catalina.bat jpda start
对于UNIX首次导出变量:
export JPDA_ADDRESS=8000
export JPDA_TRANSPORT=dt_socket
并以调试模式启动服务器:
%TOMCAT_HOME%/bin/catalina.sh jpda start
在您的IDE中,创建一个远程调试配置,将其配置为默认的JPDA Tomcat端口,即端口8000。
在命令行中:
Linux:
cd apache-tomcat/bin
export JPDA_SUSPEND=y
./catalina.sh jpda run
视窗:
cd apache-tomcat\bin
set JPDA_SUSPEND=y
catalina.bat jpda run
从IDE中执行远程调试配置,Tomcat将开始运行,您现在可以在IDE中设置断点。
注意:
该JPDA_SUSPEND=y
行是可选的,如果希望Apache Tomcat在步骤3完成之前不开始执行,则很有用;如果要对应用程序初始化问题进行故障排除,则很有用。
一个简短的答案是在启动JVM时添加以下选项。
JAVA_OPTS=" $JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8080"
ERROR: Cannot load this JVM TI agent twice, check your java command line for duplicate jdwp options.
首先,导航到TOMCAT-HOME/bin
目录。
然后,在命令行中执行以下命令:
catalina.bat jpda start
如果Tomcat服务器在Linux下运行,只需调用该catalina.sh
程序
catalina.sh jpda start
Tomcat 5.5和Tomcat 6相同
如果您想通过Windows上的Powershell做到这一点对我有用
$ env:JPDA_SUSPEND =“ y”
$ env:JPDA_TRANSPORT =“ dt_socket”
/path/to/tomcat/bin/catalina.bat jpda开始
在catalina.bat内部,设置要启动调试器的端口
if not "%JPDA_ADDRESS%" == "" goto gotJpdaAddress
set JPDA_ADDRESS=9001
然后您可以简单地使用以下命令启动调试器
catalina.bat jpda
现在,从Eclipse或IDEA中选择远程调试,并通过连接到端口9001开始启动调试。