IntelliJ IDEA远程调试(Debug)Tomcat

为什么需要这么做?

  • 解决 在我本地是好的啊 这个世界性难题~
  • 测试环境碰到问题,直接连上debug,不用再测试本地,再查看测试环境日志
  • 遇到一些诡异的问题,日志是看不出端倪的
  • 调试一些只能在测试环境执行的流程,如:调用微信/支付宝付款

配置

配置主要分为两步:

  • 服务器tomcat配置
  • 本地idea配置

服务器tomcat配置

环境:

  • CentOS7+apache-tomcat-8.5.38

步骤:

  • 编辑tomcat执行程序catalina.sh,该文件位于tomcatbin目录下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了!!!

参考