Tomcat使用IDEA远程Debug调试

远程tomcat设置

新建setenv.sh,内容如下:

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

不要设置CATALINA_OPTS,启动回报:

ERROR: Cannot load this JVM TI agent twice, check your java command line for duplicate jdwp options.

也不要在catalina.sh上面加上,否则idea回报错:

unable tp connect to host

IDEA设置

1、添加Tomcat Server选择Remote 
Tomcat使用IDEA远程Debug调试_第1张图片

2、设置相应的参数 
Tomcat使用IDEA远程Debug调试_第2张图片

  • xxx.xxx.152.67:8080为远程Tomcat服务器的IP地址和端口,这里可以设置域名,例如:http://security.xxxx.cn/login.do;

  • 60222这个端口为1.1步中设置的debug端口,适合tomcat的端口不一样的;

  • 这里的Remote staging选择的都是same file system,这就要求本地代码和远程Tomcat的代码要一直;

3、Startup/Connection 
Tomcat使用IDEA远程Debug调试_第3张图片

选择Debug、Socket、调试端口这里是60222

4、选择运行

Tomcat使用IDEA远程Debug调试_第4张图片

然后点击右边的debug即可运行(首先Tomcat要启动)

5、是否成功

Tomcat使用IDEA远程Debug调试_第5张图片

可以看到已经连接成功,

查看Tomcat服务器日志,如下: 
这里写图片描述

6、如果失败

  • 如果出现端口被拒绝:

Tomcat使用IDEA远程Debug调试_第6张图片

这种可能是tomcat并未启动,或者遇错误停止,重启Tomcat即可

  • 连接失败,其他问题

首先在服务器端查看 调试端口 这里是60222的使用情况

[root@VM_92_170_centos bin]# lsof -i:60222COMMAND   PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAMEjava    12064 root    5u  IPv4 1320209      0t0  TCP 1x.xxx.xxx.170:60222->1xx.xx.xxx.231:13325 (ESTABLISHED)

可以看到这是自己本地和远程的一个连接,如果连接失败却看到上边的使用情况,请使用kill -9 PID杀死进程,重启Tomcat,然后在IDEA中重新运行debug, 
本例为:kill -9 12064

你可能感兴趣的:(tomcat,debug,remote)