为什么需要这么做?
- 解决 在我本地是好的啊这个世界性难题~
- 测试环境碰到问题,直接连上debug,不用再测试本地,再查看测试环境日志
- 遇到一些诡异的问题,日志是看不出端倪的
- 调试一些只能在测试环境执行的流程,如:调用微信/支付宝付款
配置
配置主要分为两步:
- 服务器tomcat配置
- 本地idea配置
服务器tomcat配置
环境:
- CentOS7+apache-tomcat-8.5.38
步骤:
- 编辑tomcat执行程序catalina.sh,该文件位于tomcat的bin目录下JPDA_ADDRESS配置项,大约在339行,默认端口设置的是8000,可自行修改,只要与后续idea里配置的端口一致就行。
修改之前:

注:里面的地址前面加了localhost,要想我们本地远程debug,需要去掉该部分
修改之后:

这种远程DEBUG并不是官方推荐的修改方式,官方推荐的修改方式为在catalina.sh文件的文件头加上如下配置项即可:
| 1 | export JAVA_OPTS='-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000' | 
本地idea配置
环境:
- macOS+IntelliJ Idea 2019.1
这里提供两种方式
方式一
1.进入Edit Configurations页面,选择Remote选项

2.配置远程服务器IP和DEBUG端口,以及选择本地项目

3.本地DEBUG启动,启动成功之后,控制台会输出相应链接成功日志

方式二
这里以应用部署端口8081,debug端口5005为例
1.进入Edit Configurations页面,选择Tomcat Server ->Remote选项
2.配置远程服务器IP和应用端口

3.配置远程服务器DEBUG端口

4.debug启动项目

⚠️注意事项:远程debug前记得开放相应debug端口!
大功告成,这样就可以利用idea远程DEBUG了!!!