大家好,我是负雪明烛,一个热爱分享的程序员。
众所周知,Bug 是不可避免的。
作为一名合格的程序员,必须掌握查找和解决 Bug 的方法。因为不仅能快速发现 Bug,而且还能早点下班!
今天,介绍几种我日常用到的几种问题排查方法。
一、单元测试
通过单测,我们可以在开发过程中及早发现问题。单元测试不仅能帮助我们找出 Bug,还能提高代码质量,增强重构的信心。
一般情况下,需要和别人合作配合的代码,我都要写单测。。
但是你可能觉得写单测要费时间啊?
好在现在是 AI 时代,已经可以利用大模型帮我们写单测了!
超级方便~
二、本地调试
我认为搭建本地环境的付出是值得的:在实际工作中,谁能知道新开发的代码有多少 Bug!往往解决了一个还有一个!如果每次都发布到测试环境再测,来来回回要花很多时间在构建部署上。
搭建本地开发环境允许进行单步调试。这意味着可以逐行执行代码,观察变量的变化,更容易理解程序的执行流程。
即使 Spark 这种大数据项目也可以在本地执行的。当然了,读写都是本地的数据。打了断点,慢慢调试 Spark 程序的体验太爽了!
断点可以选择条件断点,更方便排查异常 case。
三、远程调试
有时,某些 Bug 只在特定的生产环境中出现,或者有很多外部依赖,那么本地调试就不好使了。还好 Java 程序是可以远程调试的。
在 IDEA 中,可以设置远程 debug ,连上远程机器,加上断点,就能和本地调试一样了!
排查神器!
四、日志打印
当上面这些方法都不能用的时候,日志打印就是最后的手段了。
比如在力扣上刷题,平时最常用的就是 print 大法了。
注意合理打印,如果打印太多,反而不好排查哦!