为什么需要这么做?
- 解决
在我本地是好的啊
这个世界性难题~ - 测试环境碰到问题,直接连上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了!!!