Linux 系统下 MyEclipse远程调试tomcat

9 篇文章 0 订阅
8 篇文章 0 订阅

   先说一下,我的远程服务器是 在 阿里云上的 Centos 7 。    

   关于在tomcat的java程序远程调试,网上很多人只是简单的说 在tomcat的bin文件夹下,在catalina.sh 文件中添加如下配置:

CATALINA_OPTS="-Xdebug  -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"

    注意上面的代码不要换行。

    然后说就可以远程调试了。

    我的人品没有那么好,添加了上面那句话后,打开MyEclipse的远程调试,出现如下错误。


     执行telnet 命令,发现端口不通。

     网上查资料,发现阿里云除了常用的端口会默认开放,其他端口需要自己设置开放。

     以8000端口为例,打开  https://ecs.console.aliyun.com/#/home ,


点击图中安全组按钮,进入后选择安全组,如图


 点击更多-> 配置规则,然后进行配置规则。


点击右上角的 添加 安全组规则, 我把四个方向挨个添加了一遍。

然后我就以为这样就ok了,欢天喜地的在我的电脑上执行 telnet 命令, 发现还是不通。

没有办法,在linux下,执行    netstat -ntlp ,得到结果如下:

tcp        0     127.0.0.1:8000            0.0.0.0:*               LISTEN      5130/java   

也就是说 只能 是 127.0.0.1 才能监听8000端口。


我希望能够全网监听8000端口, 在网上找遍了资料,没有发现解决的办法。

只好自己想办法。打开 catalina.sh文件,由于 地址和端口 是 JPDA_ADDRESS定义的,于是全文搜索,

发现一段代码:

if [ "$1" = "jpda" ] ; then
  if [ -z "$JPDA_TRANSPORT" ]; then
    JPDA_TRANSPORT="dt_socket"
  fi
  if [ -z "$JPDA_ADDRESS" ]; then
    JPDA_ADDRESS="localhost: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="$JPDA_OPTS $CATALINA_OPTS"
  shift
fi

将  上面的JPDA_ADDRESS="localhost:8000" 修改为  JPDA_ADDRESS="0.0.0.0:8000"

保存。

停止tomcat,  然后执行  ./catalina.sh  jpda start  命令,启动 tomcat的 调试模式。

然后在自己电脑上在MyEclipse中点击debug图标旁边的下拉按钮,选择debug configuration,出现下图。选择remote java application,添加 对应的debug配置



添加完后,点击apply, 点击图中的debug按钮,就可以开始愉快的远程调试了。。。。。


转载请注明出处



       

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值