使用IDEA远程调试Tomcat

准备工作

明确的远程服务器的IP地址,某些我是:192.168.92.128

关掉服务器防火墙:service iptables stop

本地远程服务器配置

添加远程服务器,如下图

使用IDEA远程调试Tomcat_第1张图片

复制远程服务器自动生成的JVM参数,等下有用,如下图,类似我的是:

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005

如下图,在主机添加服务器的IP地址:192.168.92.128。

使用IDEA远程调试Tomcat_第2张图片

把刚刚复制参数加个前缀,变成:

Linux(有单引号):

export JAVA_OPTS='-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005'

Windows(没有单引号):

set JAVA_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005

服务器Tomcat配置

以Linux环境为例

Tomcat安装在/ usr / program / tomcat7

Tomcat的执行程序:/usr/program/tomcat7/bin/catalina.sh

编辑Tomcat执行程序:vim/usr/program/tomcat7/bin/catalina.sh(Windows是编辑:catalina.bat)

在该文件的最上面,添加我们刚刚复制的那句话:

export JAVA_OPTS='-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005'

如果你的项目有特殊JVM参数,那你就把你的那部分参数和这部分参数合并在一起。

如下图所示:

使用IDEA远程调试Tomcat_第3张图片

服务器Jetty配置

同样是Linux环境

jetty不像Tomcat那样需要安装,只要有jetty的jar包就可以启动我们想要启动的应用。

在启动应用的时候加入之前上边我们copy的-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005就可以了。

就像这样:

java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar {your jetty path} {your port} --path {your war} 1>/dev/null 2>&1 &

开始调试

启动服务器Tomcat

启动本地远程服务器

如果可以看到如下图效果,表示已经连接成功了,接下里就是跟往常一样,在本地代码上设置断点,然后您访问远程的地址,触发到该代码自动就会在本地停住。

使用IDEA远程调试Tomcat_第4张图片

如下图,可以看到调试效果

使用IDEA远程调试Tomcat_第5张图片

你可能感兴趣的:(java)