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

2020-08-04T17:19:23
关注公众号【好便宜】( ID:haopianyi222 ),领红包啦~
阿里云,国内最大的云服务商,注册就送数千元优惠券:https://t.cn/AiQe5A0g
腾讯云,良心云,价格优惠: https://t.cn/AieHwwKl
搬瓦工,CN2 GIA 优质线路,搭梯子、海外建站推荐: https://t.cn/AieHwfX9

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

环境与适用范围

系统:支持IDEA的操作系统
IDE:能创建远程调试服务的IDEA
Java版本:根据说明,我感觉似乎现在能见到的Java版本都能进行调试
Tomcat版本:拿7.0试的,7以及更高应该都行
项目类型:测试拿基于SSM的Java web项目进行的,估计能放进tomcat容器的项目类型都支持

远程调试原理

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

操作

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

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



新建一个remote debug job。

给这个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文件。

在# 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按钮
当你的debug console出现:

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

扫一扫关注公众号添加购物返利助手,领红包
当前页面是本站的「Baidu MIP」版。发表评论请点击:完整版 »
因本文不是用Markdown格式的编辑器书写的,转换的页面可能不符合MIP标准。