转载

IDEA远端调试基于SSM的Java web项目

首先,灵感来源于这个帖子 https://www.jianshu.com/p/f902ac5d29e4

在日常开发过程中发现,有些项目由于本地网关或者数据库的限制,不方便本地调试,于是就想到了是否可以远端调试。网上一搜还真有这种操作,感谢Tomcat的支持。但是网上很多人都是乱写乱转帖,丝毫没有借鉴意义,最后导师推给我一个帖子(上面的连接),试了试感觉讲得挺清晰,但是还是有些没说清楚的地方,于是在这里总结一下。

环境与适用范围

系统:支持IDEA的操作系统

IDE:能创建远程调试服务的IDEA

Java版本: IDEA远端调试基于SSM的Java web项目 根据说明,我感觉似乎现在能见到的Java版本都能进行调试

Tomcat版本:拿7.0试的,7以及更高应该都行

项目类型:测试拿基于SSM的Java web项目进行的,估计能放进tomcat容器的项目类型都支持

远程调试原理

远程调试,本质上就是本地通过socket通信,对远端Tomcat发送调试指令,由一个远程的操作进行本地调试。本质上也可以视为是远程跑服务的机器上面有一个IDEA,可以进行debug操作,然后你在另外一台机器上,登录远程桌面,访问那台机器,然后操作IDEA进行调试。

操作

这个原理看上去并不难,所以具体的操作总共分3步:

1. 本地IDEA配置,创建一个远端debug job

IDEA远端调试基于SSM的Java web项目

IDEA远端调试基于SSM的Java web项目

新建一个remote debug job。

IDEA远端调试基于SSM的Java web项目

给这个job起个名字,配置Debugger mode与Transport如图所示,然后配好远端tomcat服务器的IP和端口号(这个根据你的项目来确定),配置完之后,下面的Command line就会自动生成,选择好JDK版本之后,Command line就会变成适用于当前JDK版本的指令格式,然后在下方选好你要调试的项目模块。记下Command line的内容,下一步要用Apply然后OK。这样本地配置就完成了。(注:不同版本IDEA这个界面的样式略有不同,找到对应的就好)

2. 给远端tomcat配置,使之支持接收远端调试指令。

通过各种方式访问你的tomcat所在目录,进入tomcatXXX/bin/ linux系统下找到catalina.sh文件,如果是windows系统,那就找到catalina.bat文件。

IDEA远端调试基于SSM的Java web项目

在# OS specific support. $var must be set to either true or false.这一行上面加一行:

export JAVA_OPTS='xxxxx'

''这里面是我们刚才保存的Command line的内容,图中是我自己的配置。

保存退出,重启tomcat,让它加载最新的配置文件。项目启动起来之后,我们就可以开始远程debug了。

3. 开始调试

在开始调试之前,要有几个准备工作:

首先,远程tomcat要启动

然后,保证本地代码与远端的打包文件一致

选中remote debug job之后点击debug按钮 IDEA远端调试基于SSM的Java web项目

当你的debug console出现:

IDEA远端调试基于SSM的Java web项目

如果出现如图结果,说明你已经与远端建立了调试连接,可以开始远端调试了。本地打断点,调用远端项目的方法,就可以在本地进行debug操作了。

原文  https://segmentfault.com/a/1190000021382647
正文到此结束
Loading...