java远程debug tomcat实例

网上远程debug的文章很多,但是都说的很笼统,细节缺失,一些关键存疑步骤未阐明,本人把坑都踩了,这里详细说下。


配置环境参考我前几日的文章,这里不再赘述。链接:linux虚拟机tomcat部署javaweb项目


环境配好了按网上的教程,改一下服务器上tomcat的catalina.sh文件:

# 2014.6.14 jack set start
CATALINA_HOME=/alidata/server/tomcat7
JAVA_HOME=/usr/java/java7
 
JAVA_OPTS="-Xms512m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m -XX:+DisableExplicitGC"
 
CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=2424,server=y,suspend=n"
 
# jack set end
# OS specific support.  $var _must_ be set to either true or false.

其中,# OS specific support. $var _must_ be set to either true or false.这行是定位,catalina.sh里有这行注释,自己的内容加在上面即可。
只需要 CATALINA_OPTS 即可,这个是配置远程debug监听的,上面的JAVA_OPTS不用写,与此无关,如果看不懂这行含义的建议去百度,基础知识夯实。
其中address需要注意,是debug的端口号,我没太明白这个端口号含义,以为是tomcat项目访问的端口号,我的是默认的8080没改动,所以这里address也写了8080,
但是导致http访问请求被拒绝,不太理解,可能是debug单独需要的端口号吧。具体含义再研究下。
因此,这里的address要填个未占用的端口号,比如8089之类的。

到此为止,服务端配完了,重启tomcat即可。

然后是启动客户端的debug,网上有教程,进入eclipse的项目,debug as --> debug Configrations --> remote java application:


然后客户端可以发送请求了,端口当然是tomcat项目访问的端口:



这时就能停到客户端eclipse的断点上,请求参数也能接到,说明配置没问题。

需要注意下:

debug状态下面的控制台没有任何提示,需要去debug那里查看该进程状态,红点是停掉debug,避免重复开启自己又不知道。

另外,如果启动debug时提示连接拒绝,要么是服务端tomcat没启动,要么是客户端remote这里参数写错了,注意下。

注意一点,此种远程debug和本地debug的操作不同,本地debug直接eclipse-debug就连带tomcat一并启动了,但远程debug需要先启动服务端的服务,再启动eclipse的debug。

其他一些细节网上的文章都写过了,拿来一并参考下即可。





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值