IDEA中如何开启Java的远程调试

实际的开发中,有些问题只会发生在预发环境(或生产环境)而本地开发环境可能没办法重现。如果碰到这种情况,此时定位问题原因很可能是一个非常耗费时间且低效的过程,那么有没有一种简单高效的方式定位问题呢?答案是有,只需要开启Java的远程调试就可以实现快速定位问题。

1、开启Java远程调试的整体流程

2、Java远程调试的步骤

(1)上传jar包的Linux上

(2)启动服务并开启支持远程调试

java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar test-1.0-SNAPSHOT.jar

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005

表示开启远程调试并且远程端口是5005

(3)本地的IDEA配置远程调试

找到远程的配置“Remote”选项,然后配置:

(4)启动远程的Debug

(5)测试远程Debug

访问地址:http://ip:port/jvm/test1

此时会跳转到本地的代码断点上:

断点结束调试结束后:

到这里我们就完成了通过IDEA实现了远程的Debug。

总结:

(1)要确保本地的代码和服务器上的代码版本是一致的,不然是没有办法使用的。

(2)远程的Debug方便定位问题,但是建议只在公司的测试环境、预发环境(最接近生产环境)上使用;除非在没有其他调试手段的情况下,远程调试是唯一的选择的时候,不然不建议在生产环境使用,因为在debug的时候其他的用户请求线程都被阻塞了。

(3)性能影响:远程调试会增加网络开销,可能会影响应用程序的性能。

(4)网络依赖:远程调试器和被调试的Java应用程序之间需要网络连接,因此必须确保网络通畅。

9