eclipse开发,有时我们需要使用tomcat的远程调试功能,但是发现无论如何,都是启动远程调试失败。原因之一,就有可能是服务器的出了些幺蛾子,如有些阿里云服务器就存在这个问题。故我们可以使用通道的方式连接到服务器,然后再开启远程调试。Linux上,我们使用putty工具来完成(支持通道的其他工具也可)。

首先,我们需要在putty上配置通道:

然后保存,使用该配置的会话进行ssh登录。接下来,eclipse上:

这样,就可以进行远程调试了。

注意:

  1. 服务器开启远程调试方法:

    • 【Linxu系统】apach/bin/startup.sh开始处中增加如下内容:

      1
      declare -x CATALINA_OPTS="-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8788"
    • 【Windows系统】apach/bin/startup.bat开始处中增加如下内容:

      1
      SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8788
  2. 尽量让本地代码和远程代码保持一致,尤其是行对齐,不然远程执行到某行而本地对应不到相应代码,可能就出现一直命中不了断点的情况。

  3. 如果发现启动远程调试仍然失败,建议重启Tomcat试试!