Tomcat使用IDEA远程Debug调试的讲解

时间:2021-11-24 06:14:55

tomcat运行环境:centos6.5、tomcat7.0、idea

远程tomcat设置

1、在tomcat/bin下的catalina.sh上边添加下边的一段设置

?
1
catalina_opts="-xdebug -xrunjdwp:transport=dt_socket,address=60222,suspend=n,server=y"

Tomcat使用IDEA远程Debug调试的讲解

2、address=60222 这个是后边idea设置的时候需要用到的调试端口,可以任意设置一个未使用的端口,但是后边的配置都要一致.

idea设置

1、添加tomcat server选择remote

Tomcat使用IDEA远程Debug调试的讲解

2、设置相应的参数

Tomcat使用IDEA远程Debug调试的讲解

  • 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调试的讲解

选择debug、socket、调试端口这里是60222

4、选择运行

Tomcat使用IDEA远程Debug调试的讲解

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

5、是否成功

Tomcat使用IDEA远程Debug调试的讲解

可以看到已经连接成功,

查看tomcat服务器日志,如下:

Tomcat使用IDEA远程Debug调试的讲解

6、如果失败

如果出现端口被拒绝:

Tomcat使用IDEA远程Debug调试的讲解

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

连接失败,其他问题

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

?
1
2
3
[root@vm_92_170_centos bin]# lsof -i:60222
command  pid user  fd  type device size/off node name
java  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

容易出现的问题

  • 如果远程没有连接上,两个端口被占用或者防火墙屏蔽。除了jmx server指定的监听端口号外,jmxserver还会监听一到两个随机端口号,这个如果防火墙关闭了的话就不用考虑,如果使用了防火墙,还需要查看它监听的端口。
  • 账号的相应的读写权限一定要有;

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对服务器之家的支持。如果你想了解更多相关内容请查看下面相关链接

原文链接:https://blog.csdn.net/xlgen157387/article/details/50268457