如何从命令提示符启动 apache tomcat 服务器的调试模式?
Posted
技术标签:
【中文标题】如何从命令提示符启动 apache tomcat 服务器的调试模式?【英文标题】:How to start debug mode from command prompt for apache tomcat server? 【发布时间】:2013-05-17 08:35:05 【问题描述】:我想为我的应用程序启动调试模式。但我需要从命令提示符启动调试模式。可能吗 ?从tomcat 5.5到tomcat 6的过程会有所不同吗?
【问题讨论】:
catalina.bat jpda 开始 Start tomcat 6 in debug mode?的可能重复 【参考方案1】:简短的回答是在 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.
【参考方案2】:
如果您想通过 Windows 上的 powershell 执行此操作,这对我有用
$env:JPDA_SUSPEND="y"
$env:JPDA_TRANSPORT="dt_socket"
/path/to/tomcat/bin/catalina.bat jpda start
【讨论】:
【参考方案3】: 在窗户上$ 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 分钟的重启时间。【参考方案4】:
在调试模式下运行tomcat有两种方式
使用 jdpa 运行
使用 JAVA_OPTS
首先设置环境。然后使用以下命令启动服务器。
export JPDA_ADDRESS=8000
export JPDA_TRANSPORT=dt_socket
%TOMCAT_HOME%/bin/catalina.sh jpda start
sudo catalina.sh jpda start
请参阅此article 了解更多信息,这是明确定义的
【讨论】:
【参考方案5】:这些说明适用于我在 mac os 10.13.3 上使用 jdk1.8.0_152 的 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 并享受远程调试。
【讨论】:
【参考方案6】:在您的 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 步完成之前不开始执行,它很有用,如果您想解决应用程序初始化问题,它很有用。
【讨论】:
【参考方案7】:在 catalina.bat 中设置您希望启动调试器的端口
if not "%JPDA_ADDRESS%" == "" goto gotJpdaAddress
set JPDA_ADDRESS=9001
然后您可以简单地使用
启动调试器catalina.bat jpda
现在从 Eclipse 或 IDEA 选择远程调试并通过连接到端口 9001 开始调试。
【讨论】:
【参考方案8】:对于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 作为默认值,但实际上您必须像上面的帖子中那样设置它们:/ 直截了当的回答,它对我有用+1。拯救了我的一天【参考方案9】:首先,导航到TOMCAT-HOME/bin
目录。
然后,在命令行中执行以下命令:
catalina.bat jpda start
如果Tomcat服务器在Linux下运行,只需调用catalina.sh
程序
catalina.sh jpda start
Tomcat 5.5 和 Tomcat 6 相同
【讨论】:
你能告诉我相当于Tomcat 7.0吗?以上是关于如何从命令提示符启动 apache tomcat 服务器的调试模式?的主要内容,如果未能解决你的问题,请参考以下文章
诡异问题:tomcat启动一直卡住,strace跟踪提示apache-tomcat核心文件找不到。
Linux下面启动tomcat时 只给出下面提示 我该怎么启动啊
centos7中启动tomcat提示bash: tomcat8.0.39/bin/startup.sh: 权限不够
问题解决:信息提示SpringBoot启动时提示The APR based Apache Tomcat Native library which allows optimal performanc(代