刚刚生产环境上部署了个新版本应用之后出现错误了,按照以往的调试方式就是 log 输出,看看那个地方出的问题,这次终于觉得难以忍受了,决定试试 Tomcat 的远程调试效果咋样。

网上搜索了一圈之后基本有了谱,于是动手尝试。

环境说明

  • 生产环境:Tomcat 8.0.20
  • 本地开发环境:IDEA 14

远程服务器配置

Tomcat 启动方式:

./catalina.sh jpda start

注意:这个会默认将 jpda 的 address 设置为 “localhost:8000”,所以还需要编辑 catalina.sh 在其顶部增加一行:

export JPDA_ADDRESS=8000

也就是去掉默认监听的 localhost 地址,使得可以在其它开发机器上调试。

另外还需要注意的就是别忘记在防火墙上开放 8000 这个端口,当然,这个端口也可以根据需要自己修改为其它数字。

开发环境上 IDEA 设置

这个设置就比较简单了:

Tomcat 8 配合 IDEA 14 远程调试的方法

Tomcat 8 配合 IDEA 14 远程调试的方法

然后点击“调试”按钮,如果输出如下文字即表示成功:

Connected to the target VM, address: 'www.xxoo.com:8000', transport: 'socket'

调试过程说明

显然调试过程中 IDEA 上的项目应该是于服务器上版本一致的才行——否则断点往哪儿打啊,不过经常会出现的问题是调试过程中的代码行无法正确匹配,也就是服务器上应该已经进入某行或某方法了,但是 IDEA 上无法正确定位,这个不知道是谁的问题,不过我们能看到那些变量的值已经足够了不是,起码比 log 输出要省很多事了。

最后

调试完毕后可以按照正常方式重启 Tomcat 就 ok 了。

转载于:https://my.oschina.net/someok/blog/505678

相关文章:

  • 2021-11-26
  • 2022-01-08
  • 2021-11-22
猜你喜欢
  • 2021-05-04
  • 2021-11-26
  • 2021-07-18
  • 2021-11-11
  • 2022-01-03
  • 2021-11-26
  • 2021-09-29
相关资源
相似解决方案