logo头像

学如逆水行舟,不进则退!!!

文章目录

遇到问题该如何调试,远程服务也能管控

本文于1496天之前发表,文中内容可能已经过时。

前言

  • 不知道多少次本地开发没有问题。线上就是死活不正常
  • 不知道你遇到这些场景都是如何处理的。今天我们福利来了确切的说是idea待着福利走来了

问题描述

  • 某个夜晚我们正在上线,测试反馈说某个业务不正常然后我们本地抓紧调试同样的数据配置同样的操作本地打了多次断点调试都没有发现异常
  • 我还在焦头烂额的时候,我的技术经理走了过来跟我说到你为什么不用idea的远程调试工具呢?
  • 随即,展开了idea远程调试的百度搜索页面

idea 远程调试

  • 调试的配置方式主要为设置JVM的参数,使之工作在debug模式下,常用参数为:

若项目为web项目,可在tomcat的启动程序如catalina.sh中添加如下:

若项目为javaapp项目,可在项目的default文件中添加如下:

  • idea配置

打开idea中的run/debug configurations, 选择remote类型,地址配置为服务器地址,端口配置为上述配置参数中的address,

  • 上述完成之后我们还差一步就可以享受啦。既然是远程调试我们就必须保证本地和待调试的那个环境的代码一模一样。
  • 正常情况下我们就是重新上个包。然后本地通过新开的端口借助idea进行打断点调试

缺陷

  • 线上原则上会收到严格的管控。随意的开个端口给开发者进行调试对于开发者来说是方便了。但是对于网站的维护确是个灾难。因为端口的开放可能给黑客造成攻击的机会
  • 线上可能在上线期间其他的功能还在对外使用。互联网基本上都是灰度发布如果我随意的debug调试的话就会对整个功能进行阻塞。从而影响使用
  • 另外就是开发者的问题了,如果因为开发者在调试期间执行多次某个代码可能对线上造成脏数据

总结

  • 任何事情都有两面性。首先远程调试是为了方便开发者。
  • 方便的同时也带来其他问题。我们在使用这个利器的同时需要权衡利弊

点赞哈

上一篇
坚持原创技术分享,您的支持将鼓励我继续创作!

评论系统未开启,无法评论!