tomcat 开启jpda远程调试
2019-05-13 本文已影响0人
Lisong
TOMCAT开放远程调试端口
方法1、
WIN系统,在catalina.bat里:
SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8899
Linux系统,在catalina.sh里:
CATALINA_OPTS="-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8899"
jpda 参数
虚拟机参数设置
1.1启用调试服务
-Xdebug 启用调试
-Xrunjdwp:<sub-options> 加载JVM的JPDA参考实现库
1.2 Xrunjdwp子参数(sub-options)配置
Xrunjdwp子参数的配置格式如下
Xrunjdwp:<name1>[=<value1>],<name2>[=<value2>]...
1.3 transport=dt_socket
JPDA front-end和back-end之间的传输方法。dt_socket表示使用套接字传输。
1.4 address=8000
JVM在8000端口上监听请求。
1.5 server=y
y表示启动的JVM是被调试者。如果为n,则表示启动的JVM是调试器。
1.6 suspend=y
y表示启动的JVM会暂停等待,直到调试器连接上。
suspend=y这个选项很重要。如果你想从Tomcat启动的一开始就进行调试,那么就必须设置suspend=y。
方法2、
Linux环境的启动
在Linux系统中已经Tomcat已经配置了Jpda,可是啊,默认情况下tomcat的启动命令是: ./catalina.sh start
但是这个命令是没有启动我们的jpda这个服务。
我们需要启动jpda服务,好在tomcat提供了集成化的命令:./catalina.sh jpda start
,这样就启动了我们服务器jvm的jpda服务了。tomcat默认的jpda服务的端口是8000
,这个时候我们使用命令看下 netstat -an,看看8000端口是不是已经启动了。如果我们想修改端口该如何呢?呵呵,经过分析我们知道Jpda的工作细节,那么也像Windows环境的启动一样
我们将
export JPDA_ADDRESS=8000
修改为
export JPDA_ADDRESS=5050
961086a0ba906fd0e17dcdd2f9f6534d.png