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
此时会跳转到本地的代码断点上:
断点结束调试结束后:
到这里我们就完成了通过IDEA实现了远程的Debug。
总结:
(1)要确保本地的代码和服务器上的代码版本是一致的,不然是没有办法使用的。
(2)远程的Debug方便定位问题,但是建议只在公司的测试环境、预发环境(最接近生产环境)上使用;除非在没有其他调试手段的情况下,远程调试是唯一的选择的时候,不然不建议在生产环境使用,因为在debug的时候其他的用户请求线程都被阻塞了。
(3)性能影响:远程调试会增加网络开销,可能会影响应用程序的性能。
(4)网络依赖:远程调试器和被调试的Java应用程序之间需要网络连接,因此必须确保网络通畅。