在intellij idea下远程调试项目

  • 1,首先发布一个和本地一模一样的代码到服务器,假设到 f:/bjhgtest(最后有说明)
  • 2,打开服务器下tomcat安装目录bin文件夹下的catalina.bat,加入以下代码:
set JAVA_OPTS=%JAVA_OPTS%  -server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=54341,server=y,suspend=n
set JAVA_OPTS=%JAVA_OPTS%  -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false

插图一

  • 3,配置intellij,首先为项目添加一个remote tomcat

插图二

  • 4,加入项目 插图三

  • 5,配置jvm debug监听的端口 插图四

和上面修改的配置文件一致:

set JAVA_OPTS=%JAVA_OPTS%  -server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=54341,server=y,suspend=n
  • 6,启动服务器的tomcat,可以看到以下信息 插图五

启动本地的tomcat,开始调试

插图六

本地tomcat会打印如下日志:

插图七

验证是否成功:

我在登陆这段代码上打上断点,然后我访问远程的项目,在登陆的时候,进入断点,远程调试成功~

需要注意的是本地的输出class路径要和服务器的上一致。

本地的: 插图八

服务器的: 插图九

这样直接调试服务器上的代码,出现问题后就容易解决,一般服务器的运行环境是很难在本地模拟的,远程调试就不会有那样的问题了,而且还很方便