前言
==
- 不知道多少次本地开发没有问题。线上就是死活不正常
- 不知道你遇到这些场景都是如何处理的。今天我们福利来了确切的说是idea待着福利走来了
问题描述
====
- 某个夜晚我们正在上线,测试反馈说某个业务不正常然后我们本地抓紧调试同样的数据配置同样的操作本地打了多次断点调试都没有发现异常
- 我还在焦头烂额的时候,我的技术经理走了过来跟我说到你为什么不用idea的远程调试工具呢?
- 随即,展开了idea远程调试的百度搜索页面
- idea配置
打开idea中的run/debug configurations, 选择remote类型,地址配置为服务器地址,端口配置为上述配置参数中的address
- 上述完成之后我们还差一步就可以享受啦。既然是远程调试我们就必须保证本地和待调试的那个环境的代码一模一样。
- 正常情况下我们就是重新上个包。然后本地通过新开的端口借助idea进行打断点调试
缺陷
==
- 线上原则上会收到严格的管控。随意的开个端口给开发者进行调试对于开发者来说是方便了。但是对于网站的维护确是个灾难。因为端口的开放可能给黑客造成攻击的机会
- 线上可能在上线期间其他的功能还在对外使用。互联网基本上都是灰度发布如果我随意的debug调试的话就会对整个功能进行阻塞。从而影响使用
- 另外就是开发者的问题了,如果因为开发者在调试期间执行多次某个代码可能对线上造成脏数据
总结
==
- 任何事情都有两面性。首先远程调试是为了方便开发者。
- 方便的同时也带来其他问题。我们在使用这个利器的同时需要权衡利弊
我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!