如何从Apache Tomcat服务器的命令提示符启动调试模式?


84

我想为我的应用程序启动调试模式。但是我需要从命令提示符启动调试模式。可能吗 ?在tomcat 5.5和tomcat 6之间,该过程是否会有所不同?


6
catalina.bat jpda开始
sanbhat

Answers:



51

对于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

嗯,是的,尽管在catalina.bat中提到了8000和dt_socket作为默认值,但实际上您必须按照上面的帖子进行设置:/
hello_earth

到正确的答案,它为我工作+1。拯救了我的一天
Joginder Malik

25
  1. 在您的IDE中,创建一个远程调试配置,将其配置为默认的JPDA Tomcat端口,即端口8000。

  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中执行远程调试配置,Tomcat将开始运行,您现在可以在IDE中设置断点。

注意:

JPDA_SUSPEND=y行是可选的,如果希望Apache Tomcat在步骤3完成之前不开始执行,则很有用;如果要对应用程序初始化问题进行故障排除,则很有用。


14

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

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

使用JAVA_OPTS -Xdebug时,无需使用jpda启动catalina。否则,您可能会ERROR: Cannot load this JVM TI agent twice, check your java command line for duplicate jdwp options.
遇到

4

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

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

catalina.bat jpda start

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

catalina.sh jpda start

Tomcat 5.5和Tomcat 6相同


你能告诉我相当于Tomcat 7.0吗?
RAS

3

这些说明适用于我使用jdk1.8.0_152的Mac OS 10.13.3上的apache-tomcat-8.5.20:

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

现在,从IntelliJ / Eclipse连接到端口12321并享受远程调试。


2

有两种方法可以在调试模式下运行tomcat

  1. 使用jdpa运行

  2. 使用JAVA_OPTS

首先设置环境。然后使用以下命令启动服务器。

export JPDA_ADDRESS=8000

export JPDA_TRANSPORT=dt_socket

%TOMCAT_HOME%/bin/catalina.sh jpda start

sudo catalina.sh jpda start

请参阅本文以获取更多信息,这是明确定义的内容


1

如果您想通过Windows上的Powershell做到这一点对我有用

$ env:JPDA_SUSPEND =“ y”

$ env:JPDA_TRANSPORT =“ dt_socket”

/path/to/tomcat/bin/catalina.bat jpda开始


0

在catalina.bat内部,设置要启动调试器的端口

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

然后您可以简单地使用以下命令启动调试器

catalina.bat jpda 

现在,从Eclipse或IDEA中选择远程调试,并通过连接到端口9001开始启动调试。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.