当前位置: 首页 > 教程 > Mac软件教程 > 详解IntelliJ IDEA远程介绍调试Tomcat的方法

详解IntelliJ IDEA远程介绍调试Tomcat的方法

在调试代码的过程中,为了更好的定位及解决问题,有时候需要我们使用远程调试的方法。在本文中,就让我们一起来看看,如何利用IntelliJ IDEA进行远程Tomcat的调试。

IntelliJ IDEA 中文版下载

首先,配置remote:

如上图所示,点击Edit Configurations,进入如下界面:

如上图所示,我们进入了Run/Debug Configurations界面,然后点击左上角的+,选择Remote:


标注1:运行远程JVM的命令行参数;

标记2:传输方式,默认为Socket;

标注3:调试模式,默认为Attach;

标注4:服务器IP地址,默认为localhost真实,需要修改为目标服务器的IP地址;

标注5:服务器端口号,默认为5005,需要修改为目标服务器的真实端口号;

标签 6:搜索资源是使用的环境变量,默认为<whole project>,即整个项目。

如上图,其中标注2和标注3又分别有两种分类,对于标注2,

标记2:传输方式,默认为Socket;

Socket:macOS 及 Linux 系统使用传输方式;

Shared memory:Windows系统使用第一传输方式。

对于标记3,

标注3:调试模式,默认为Attach;

Attach:初始模式下,调试服务端(被调试远程的机器)启动一个端口运行等待我们(调试客户端)去连接;

Listen:当前模式下,是我们(调试客户端)去监听一个端口,当调试服务端准备好了,就可以进行连接。

然后,复制标注 1,即 IntelliJ IDEA 自动生产的命令行参数,然后导入到 Tomcat 的配置文件中。以 Linux 系统为例,导入语句为:

export JAVA_OPTS='-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8001'

如果是Windows系统,则导入语句为:

set JAVA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8001

两者的区别在于导入语句关键字的不同以及无引号,Linux系统的导入关键字为export,Windows为set;Linux的导入值需要用单引号''括起来,而Windows则不用。

接下来,修改Tomcat的bin目录下的catalina.sh文件(如果是Windows系统则修改catalina.bat文件),将上述的导入语句添加到此文件中即可:

至此,IntelliJ IDEA 远程调试 Tomcat 的配置已经完成,调试的后续步骤按正常的调试技巧进行就可以啦!

如果我们的项目是基于 Spring Boot 搭建的,那么上面直接修改 Tomcat 的 bin 目录下的catalina.sh文件就行不通了。但是接下来,在配置 Spring Boot 的时候,我们通常要简单写一个启动脚本,我们只需要将上述配置语句添加到 Spring Boot 项目的启动脚本里面,同样可以实现远程调试的目的。例如,

相关文章