java远程调试(介绍两种发布方式)

1.jar包启动时

java -agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n -jar demo.jar--jdk1.7之后

java -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n -jar demo.jar--jdk1.7之前

2.tomcat启动时

服务器端:

Jdk1.7之前,需要在web容器中添加如下命令:

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

 

以tomcat为例,也就是需要在Catalina.sh文件中修改CATALINA_OPTS参数,加入上述内容:

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

 

Jdk1.7之后,需要在web容器中添加如下命令:

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000

 

还是以tomcat为例,修改Catalina.sh文件:

Set CATALINA_OPTS=$CATALINA_OPTS -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000

 

不过,根据观察,在tomcat原本的catalina.sh配置文件应该就已经对远程调试的参数进行了默认配置:

全局搜索CATALINA_OPTS,就能看到如下配置(tomcat7和8.5都有):

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

从上述配置中就可以看出,tomcat已经默认提供远程调试的设置了,所以不需要我们再去单独配置了,我们只需要本地使用相应端口进行远程调试即可。

 

本地操作:

 

首先本地对debug方式进行设置,改为以Remote Java Application的方式进行启动,如下图所示:

 

 

设置port为远程调试的端口,按照上述介绍,就应该设置为8000,然后修改host为服务器访问ip或域名,点击右下角apply

配置好启动方式后,去需要调试的类打上断点,然后以dubug模式启动即可。

然后通过各种工具访问需要调试的后台,即可触发调试:

值得注意的是,如果服务器上项目没有启动,那么你本地的服务启动会连接错误,所以需要先保证服务器上的服务是成功启动了的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值