现需要debug 远程linux 服务器上的代码
1 找到linux下的tomcat文件路径,修改bin下面的catalina.sh,找到jpda配置处
if [ "$1" = "jpda" ] ; then
if [ -z "$JPDA_TRANSPORT" ]; then
JPDA_TRANSPORT="dt_socket"
fi
if [ -z "$JPDA_ADDRESS" ]; then
JPDA_ADDRESS="8000"
fi
if [ -z "$JPDA_SUSPEND" ]; then
JPDA_SUSPEND="n"
fi
if [ -z "$JPDA_OPTS" ]; then
JPDA_OPTS="-agentlib:jdwp=transport=$JPDA_TRANSPORT,address=$JPDA_ADDRESS,server=y,suspend=$JPDA_SUSPEND"
fi
CATALINA_OPTS="$CATALINA_OPTS $JPDA_OPTS"
shift
fi
修改JPDA_SUSPEND="y",修改JPDA_ADDRESS="8000"端口号,然后关闭掉tomcat JPDA_SUSPEND 可以不修改为y,修改为n是需要等待客户机连接,如果可以等待程序启动后再进行调试,可以不需要修改为y,直接修改为n
2 配置JAVA环境变量
3 关闭linux下防火墙,不然远程客户机可能无法连接上该tomcat,注意不直接关闭防火墙,而是将远程客户机与端口添加到防火墙上,关闭主要是最简单。
service iptables stop
4 启动tomcat 命令行下运行:./catalina.sh jpda start
5 启动eclipse,右键你的项目
debug As ->debug configurations->remote java applications
点击左上角,新建文件的小图标,host是linux 服务器IP
port是你上面.sh文件中JPDA_ADDRESS 此处改的端口号 (注意端口号冲突,此端口为监听端口,不能设置你tomcat 的端口与监听端口一致)
然后点击debug就可以进行远程调试了。
注意:
1 你点击调试后,可能无法连接上tomcat服务器端,可以适当连几次,如果还是连不上,建议修改下端口号,因为端口号可能会被占用;还有就是注意tomcat服务器的防火墙注意关闭掉。
启动顺序为:先启动tomcat端,然后再在客户端配置5步骤启动。