个人小结---IDE远程调试Tomcat部署的应用

1.前言

     对于已部署一些在线上或者非本机环境下的tomcat项目,可能出现奇奇怪怪的问题,而这些问题在本地环境却又很难重现,远程调试则能在本机环境调试已部署的应用,一定程度上方便定位问题。

     此文档只针对Windows系统下调试Tomcat部署的应用,对基本的远程调试进行说明。

     linux系统下的配置逻辑也一样的。

    此文档涉及Tomcat,IDE(2种。IDEA,STS(Eclipse))的版本信息如下:

      apache-tomcat-8.0.48

      IDEA 2018.2

      STS 3.9.5.RELEASE

 

2.Tomcat配置

    (如果没有配置JAVA_OPTS,使用catalina jpda start启动时会默认使用端口8000,不推荐,建议自行配置)

    在catalina.bat中指定位置增加JAVA_OPTS的配置,如下:

    (

        备选:

      如果添加JAVA_OPTS后启动不成功,则恢复文件,改为配置JPDA_OPTS

 )

    注意:

  1. address处需要指明当前tomcat所在机器的IP地址;如果没有指定地址,则默认是127.0.0.1或者localhost,如果此时是在其他机器远程调试,则会出现类似“Connnection refused”的问题。(在没有指明tomcat所在机器的IP地址的情况下,此时采用telnet 192.168.12.161 port可能会失败,而是用telnet localhost port或者telnet 127.0.0.1 port则成功。)
  2. address处配置的端口不能跟Tomcat使用的端口一样。
  3. set JAVA_OPTS的值是从IDEA或者Eclipse的remote配置中拷贝的。

    配置完后,将war包部署,并使用catalina jpda start命令(调试模式,用于远程调试)启动,如下:

    启动后会弹出tomcat框,如下(第一行会有端口监听的提示,是之前在catalina.bat配置好的端口):

(配好后,通过starup.bat启动也有同样效果)

 

3.IDEA配置与Debug

    将上述Tomcat的配置,使用在IDEA上,如下:

           配置好后,使用Debug方式启动:

此时可以在代码中加断点进行远程调试,就像本地调试代码一样。

 

4.Eclipse配置与Debug

Eclipse的配置比较简单。

打开Eclipse的Debug配置窗口:

弹出以下窗口,新加“Remote Java Application”配置项。选中工程,配置远程ip,端口。

此时 ,在代码设置断点,即可进行调试。

如果需要断开远程调试,则点击下图红色框的“Disconnect”图标即可。

 

5.注意与参考

注意:

  1. 当然,本地调试的代码要与远程部署的包版本一致。
  2. 同一时刻,尽量只使用一个IDE在调试,不然可能会出现“Connection refused”的问题。

     此时使用Telnet会有以下提示:

  1. 使用过程中可能出现超时。

 

IDEA的配置参考此链接:

https://stackoverflow.com/questions/6733849/remote-debugging-in-intellij-tomcat

 

6.思考

远程调试不局限于tomcat,其他支持远程debug的web容器可以验证下。

Spring Boot的jar,类似如下,也可以进行远程调试:

java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address="8000" -jar springBoot.jar

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值