Tomcat 8在Linux上运行,远程调试连接从Eclipse ESTABLISHED,但断点并没有停止

时间:2015-12-14 12:46:03

标签: linux eclipse windows remote-debugging

我尝试远程调试运行在linux中的Tomcat Web应用程序 我开始使用tomcat:

JPDA_OPTS="-agentlib:jdwp=transport=dt_socket,address=8111,server=y,suspend=n"

在catalina.sh中:

...
...
...
      # -----------------------------------------------------------------------------

    # OS specific support.  $var _must_ be set to either true or false.
    cygwin=false
    darwin=false
    os400=false
    case "`uname`" in
    CYGWIN*) cygwin=true;;
    Darwin*) darwin=true;;
    OS400*) os400=true;;
    esac

    JPDA_OPTS="-agentlib:jdwp=transport=dt_socket,address=8111,server=y,suspend=n"

    # resolve links - $0 may be a softlink
    PRG="$0"

    while [ -h "$PRG" ]; do
      ls=`ls -ld "$PRG"`
      link=`expr "$ls" : '.*-> \(.*\)$'`
      if expr "$link" : '/.*' > /dev/null; then
        PRG="$link"
      else
        PRG=`dirname "$PRG"`/"$link"
      fi
    done
...
...
...

然后我用:

启动tomcat
Tomcat/bin > catalina.sh jpda start

当我做netstat -a |我得到了grep 8111:

tcp        0      0 *:8111                      *:*                         LISTEN

在windows中,我使用eclipse版本:Mars.1(4.5.1) 我配置了远程调试 enter image description here

按下调试,我看到在服务器中建立了连接 并在windows eclipse中这样:

enter image description here

在Linux服务器上,当我做netstat -a |时grep 8111 我明白了:

tcp        0      0  linux:8111             my.pc.ip.66:62285          ESTABLISHED

我在日食中设置了分配点,来源是一样的 但没有断点弯腰......这是一个错误吗?

1 个答案:

答案 0 :(得分:1)

最后一个屏幕截图是您已连接到Tomcat的保证。为了停止你的任何断点,你需要练习你设置断点的代码。通常只需使用你的应用程序即可。

Eclipse有时因某些原因无法设置断点。当它成功设置它时,断点上会出现一个小刻度,表示它活动

enter image description here

如果某个特定类尚未加载,或者存在其他一些问题,则断点将没有勾选,并且不活动

enter image description here

确保您的断点处于活动状态。如果没有,请确保您的项目配置(用于调试启动配置的配置)与部署到Tomcat的WAR匹配。

如果这不起作用,您可能会使用不同的编译选项来构建部署到Tomcat的应用程序,例如没有行号。尝试在方法而不是指令上设置断点。如果可行,请将调试选项添加到构建中的编译步骤,以便还包括行号。这将让你在线上设置断点。