IntelliJ IDEA 2018.2.2远程调试Tomcat的配置方法

Posted linruiyi2015

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IntelliJ IDEA 2018.2.2远程调试Tomcat的配置方法相关的知识,希望对你有一定的参考价值。

公司项目放在远程服务器上,之前都是将项目打包放上去运行后在log中查看相关调试信息,发现问题后在本地编辑器修改后再次打包上传调试,但是这种方式实在是让人抓狂,一则不断的在大量的log中查看有效信息太累,而且log中的信息也有限;再则一直重复编辑-打包-上传-调试很折磨人,所以才想到了远程调试。搜索了网上的方法要么就是设置界面跟我不一样,要么就是即使跟他们设置的一样依然不起作用,不进断点,在尝试了多次以后终于调通,在这里记录一下,也给大家做个参考!

大前提:本地工程和发布到远程服务器上的工程代码要完全一致。重点!!!!

首先,配置Tomcat Server,步骤如下:

技术分享图片

点击上图Edit Configurations,出现如下界面,点击 + 选择Tomcat Server-->Remote, 然后出现右侧信息。

 在Server选项卡中,选择一个你本机的Tomcat服务,我在填这一栏之前它是空的,需要点击后面的configuration配置到自己本机的Tomcat;

URL:我填写的是我远程服务器部署的项目地址,用的域名+端口号

下面的Host和port就是URL的拆分,这个大家应该都懂。

技术分享图片

配置完Server再点击Startup/Connection-->Debug,然后会看到红框的那一段命令,这里的8000是我远程服务器上Tomcat中的调试端口,具体可查看远程服务器上tomcat-->bin-->catalina.bat文件中的设置项“set JPDA ADDRESS=8000”,这个端口是可以更改的,不管改成什么,都要保持远程服务器上的Tomcat中的调试端口和本地IDEA中的debug配置中的端口一致,如下图这几个地方的端口号要一致,并且远程服务器的这个端口号要确保可以访问。

技术分享图片

 技术分享图片

到此,本地IDEA的Tomcat Server配置完毕,点击Apply-->OK即可。

 

然后,配置远程服务器上tomcat中的文件

在配置之前先将上一步骤中debug的那条命令行先拷贝下来:-agentlib:jdwp=transport=dt_socket,address=8000,suspend=n,server=y

然后分情况配置:

Windows(我自己的服务器是Windows,亲测没问题)

  在Tomcat-->bin-->catalina.bat文件的第一行添加 set JAVA_OPTS=-agentlib:jdwp=transport=dt_socket,address=8000,suspend=n,server=y

Linux (我没测过这个,大家如果是Linux 操作系统可以试试,应该也没问题,区别在于Linux 系统需要修改的文件是catalina.sh,导入关键字为export,导入值需要用单引号‘‘括起来)

       在Tomcat-->bin-->catalina.sh文件的第一行添加 export JAVA_OPTS=-agentlib:jdwp=transport=dt_socket,address=8000,suspend=n,server=y

修改完成后保存,并重启tomcat服务

至此,IntelliJ IDEA 远程调试 Tomcat 的配置已经完成了.

 

验证:在本地IDEA的代码中设置断点,然后启动调试,启动调试后会输出如下内容,接着浏览器会自动弹出并访问你的远程项目地址,项目运行到断点时会进入调试信息。这样就可以进行远程Tomcat的调试了。

Connected to server
Connected to the target VM, address: ‘*******:8000‘, transport: ‘socket‘,

技术分享图片

 

写的有些语无伦次,请见谅!

 



以上是关于IntelliJ IDEA 2018.2.2远程调试Tomcat的配置方法的主要内容,如果未能解决你的问题,请参考以下文章

调优IntelliJ IDEA的JVM参数

JVM性能调优实战:让你的IntelliJ Idea纵享丝滑

IntelliJ IDEA 2019.2.2在16GB内存下的性能调优

Intellij IDEA 远程debug远程tomcat部署项目

IntelliJ IDEA debug output窗口消失了,怎么调出来?

IntelliJ IDEA + tomcat 远程调试