如何从apache tomcat服务器的命令提示符启动debugging模式?

我想为我的应用程序启动debugging模式。 但是我需要从命令提示符开始debugging模式。 可能吗 ? 而程序会不同tomcat 5.5到tomcat 6之间?

在窗户上

$ catalina.bat jpda start 

在Linux / Unix上

 $ catalina.sh jpda start 

更多信息----> http://wiki.apache.org/tomcat/FAQ/Developing

对于windows首先设置variables:

 set JPDA_ADDRESS=8000 set JPDA_TRANSPORT=dt_socket 

以debugging模式启动服务器:

 %TOMCAT_HOME%/bin/catalina.bat jpda start 

对于unix的第一个导出variables:

 export JPDA_ADDRESS=8000 export JPDA_TRANSPORT=dt_socket 

并以debugging模式启动服务器:

 %TOMCAT_HOME%/bin/catalina.sh jpda start 
  1. 在您的IDE中,创build一个远程debuggingconfiguration,将其configuration为端口为8000的默认JPDA Tomcat端口。

  2. 从命令行:

    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 
  3. 从IDE执行远程debuggingconfiguration,Tomcat将开始运行,现在可以在IDE中设置断点。

注意:

JPDA_SUSPEND=y行是可选的,如果您希望Apache Tomcat在步骤3完成之前不会开始执行,那么它非常有用,如果您想排除应用程序初始化问题的故障,那么这将非常有用。

简短的答案是在启动JVM时添加以下选项。

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

首先,导航到TOMCAT-HOME/bin目录。

然后,在命令行中执行以下命令:

 catalina.bat jpda start 

如果Tomcat服务器在Linux下运行,只需调用catalina.sh程序即可

 catalina.sh jpda start 

Tomcat 5.5和Tomcat 6也是一样的

在catalina.bat里面设置你想启动debugging器的端口

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

然后你可以简单地启动debugging器

 catalina.bat jpda 

现在从Eclipse或IDEAselect远程debugging,并通过连接到端口9001开始启动debugging。

在debugging模式下运行tomcat有两种方法

  1. 使用jdpa运行

  2. 使用JAVA_OPTS

参考这篇文章更多的信息,这是明确的定义它