首先说明,远程调试传统项目和Spring Boot项目是完全不同的。
传统项目部署在tomcat中,远程调试时需要将tomcat设置为debug模式;Spring Boot应用是打成jar包,只需要在启动jar包的时候配置jvm参数为debug模式就行,本文只讨论Spring Boot项目。
这里的debug模式是调试模式,而不是日志级别调整为debug。
远程调试需要本地代码和远程服务器上的代码保持一致。
1.服务端debug模式启动应用
首先需要将远程服务器上的jar包以debug模式启动,并单独创建一个端口,便于IDEA连接,命令如下:
java -jar -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8081 my-project.jar
其中8081是新声明的端口,和项目端口无关,这个IDEA待会儿就配置为这个端口。
2.IDEA配置remote连接
2.1 选择Edit Configurations
2.2 创建 Remote
3.进行远程调试
经过上面的配置,我们会发现debug的图标是亮起来的,即可以点击的,点击一下,开始连接
会发现下面的variables面板现在正在连接
等待一会儿,大概十几秒,console面板会显示已经连接成功(我的是新加坡服务器估计会慢一点,花了几十秒)
然后就在指定位置打断点,通过Postman发起请求,观察程序是否停留在断点处:
OK,成功了,看到断点生效了,再通过variables查看数据:
完美实现了,有问题可以评论或者私信我。