在远程debugging连接的Linux上运行的Tomcat 8从Eclipse创build,但断点不停止

我尝试远程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中,IM使用Eclipse版本:Mars.1(4.5.1)我configuration了远程debugging 在这里输入图像描述

按下debugging,我看到在服务器和在Windows日食这样的连接:

在这里输入图像描述

而在Linux服务器上,当我做netstat -a | grep 8111我看到:

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

我在eclipse中设置了所有的断点,源码是一样的,但是没有断点在弯腰……这是一个错误吗?

最后的截图是保证你已经连接到你的Tomcat。 为了停止你的任何断点,你需要锻炼你已经设置了断点的代码。通常只要使用你的应用程序就可以了。

由于某些原因,Eclipse有时不能设置断点。 当它设置成功时,在断点上出现一个小滴答,表明它是活跃的

在这里输入图像描述

如果一个特定的类没有加载,或者还有其他一些问题,那么这个断点将不会被打勾,并且将会保持不活动状态

在这里输入图像描述

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

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