我尝试远程调试运行在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
...
...
...
然后我用:
启动tomcatTomcat/bin > catalina.sh jpda start
当我做netstat -a |我得到了grep 8111:
tcp 0 0 *:8111 *:* LISTEN
在windows中,我使用eclipse版本:Mars.1(4.5.1) 我配置了远程调试
按下调试,我看到在服务器中建立了连接 并在windows eclipse中这样:
在Linux服务器上,当我做netstat -a |时grep 8111 我明白了:
tcp 0 0 linux:8111 my.pc.ip.66:62285 ESTABLISHED
我在日食中设置了分配点,来源是一样的 但没有断点弯腰......这是一个错误吗?
答案 0 :(得分:1)
最后一个屏幕截图是您已连接到Tomcat的保证。为了停止你的任何断点,你需要练习你设置断点的代码。通常只需使用你的应用程序即可。
Eclipse有时因某些原因无法设置断点。当它成功设置它时,断点上会出现一个小刻度,表示它活动。
如果某个特定类尚未加载,或者存在其他一些问题,则断点将没有勾选,并且不活动。
确保您的断点处于活动状态。如果没有,请确保您的项目配置(用于调试启动配置的配置)与部署到Tomcat的WAR匹配。
如果这不起作用,您可能会使用不同的编译选项来构建部署到Tomcat的应用程序,例如没有行号。尝试在方法而不是指令上设置断点。如果可行,请将调试选项添加到构建中的编译步骤,以便还包括行号。这将让你在线上设置断点。