引言
最近有一个语音质检项目线上环境出现问题了,因为整个项目的核心是解析第三方生成的xml文件,所以这些文件都在服务器上,本地是没有这些文件的,所以如果我们想在本地debug,需要申请将文件下载下来,非常的麻烦,所以只能通过在代码中添加log来逐步排查问题,每次添加都需要部署,非常的浪费 时间。所以小编心想如果可以直接debug线上就好了,果然网上有类似的教程,通过idea直接debug线上,下面分享。
第一步:远程配置
需要在tomcat中配置,开启远程调试设置,在tomcat 的配置文件catalina.sh中 增加以下设置:
JAVA_OPTS="-agentlib:jdwp=transport=dt_socket,address=6006,suspend=n,server=y"
第二步:配置idea
1)点击右上角的 edit configuration
注意:端口号和tomcat中开启远程调试的时候 配置的端口一直
debug启动我们配置的远程项目,出现下面结果证明连接成功:
到这我们的配置就算完成了,整个过程的配置还是非常简单的,重要的时候我们遇到问题的时候,这中想法很重要,有很多的工具可以帮助我们实现我们的想法。
下面说一下调试过程:
1、本地代码必须和服务端代码保持一致
2、在需要调试的地方设置断点
3、通过postman或者其他方式触发我们想要调试的方法即可
这样我们就可以非常愉快的提示线上问题了,因为一些问题可能是需要线上的数据才可以重现,所以这种远程调试的方法还是比较重要的。