环境:centos+tomcat+idea;
1.编辑catalina.sh, 在第一行添加参数配置如下, address=6666为远程调试端口
declare -x CATALINA_OPTS="-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=6666"
查阅资料时有说ubuntu系统的配置为(我没有环境,暂未验证)
CATALINA_OPTS="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=6666"
个人环境是在start.sh里配置的,不用参照:
export declare -x CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=13052 -server -Xdebug -Xnoagent -Djava.compile
r=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=6666"
2.重启服务;
idea配置
启动idea,出现下面信息表示连接成功;之后在想调试的地方打断点就好了;
配置过程中的问题
1:
java.lang.ClassNotFoundException: org.apache.juli.ClassLoaderLogManager
这个是由于我在配置catalina.sh的CATALINA_OPTS时出现了换行,必须保证这条记录没有换行符,可以先在文本编辑器里去掉换行,在复制进来;
declare -x CATALINA_OPTS="-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=6666"
2:请求连接不上服务器:一般是防火墙问题,在本地先保证能连上服务器: telnet 服务器IP (端口)6666