debug控制台内容消失 idea_idea springboot远程debug怎么搞?

本文详细介绍了如何进行SpringBoot应用的远程调试,包括本地配置远程服务、服务器以远程监听方式启动以及在本地进行调试的步骤。强调了远程调试时本地和服务器代码需一致,以及监听端口与服务器启动端口的区别。通过Xshell连接服务器,修改启动命令,确保远程调试成功。
摘要由CSDN通过智能技术生成

点击上方蓝色字体,选择“标星公众号”

优质文章,第一时间送达

Remote Debug 综述

当我们的后台项目部署到服务器上时,由于环境和本地不同,有时候也会有一些奇奇怪怪的问题出现。只依赖服务器上的日志来诊断可能太不灵活,这时就需要我们进行远程调试。
在开始我们的步骤前,先确认一点:
我们现在是希望能够在本地远程调试服务器上的程序,也就是说:

  1. 本地 = 调试者

  2. 服务器 = 被调试者

而且还有一点我们需要注意,就是在调试远程服务器上的代码时,一定要保证 远程服务器 上的代码和 本地 代码一致,不然就失去debug效果了。

First Step 本地配置远程服务

  1. 在本地,打开我们的idea,在运行窗口上点击 Edit Configurations…a42a705f8cf9befe50c624ba7fd9f537.png

  2. 会看到新跳出来一个窗口,点击左上角 ‘+’ 号,选择 Remote15a1397f55dce40849f20dab56992ca7.png

  3. 填入相关信息86913da040d07b5acd6b084d5544f51d.png这样就算是做好了我们本地的远程debug配置。
    这里补充一个小tip:

这里设置的8002端口是监听端口,读者也可以修改为自己想要的端口。
但是要注意,监听端口和启动端口必须不同。
也就是服务器上项目启动的端口,要和你现在设置的这个监听端口不一样。

先别急着把这个界面关掉,我们把这一段内容复制下来:

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


Second Step 服务器以远程监听方式启动

打开我们的Xshell(或其他SSH工具)连接上我们的远程服务器。
启动时,我们将过去的java -jar xxx.jar命令给替换成:

java -jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8002 xxx.jar

但如果我们的远程服务器是阿里云、腾讯云等云服务商的云服务器,我们可能需要像下面这样改:
指定我们开放的ip,确保不会被默认设置为127.0.0.1:8002导致外部无法访问进来。

java -jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=0.0.0.0:8002 xxx.jar

回车启动,会看到下面的字样,就说明成功监听了:

Listening for transport dt_socket at address: 8002


Third Step 在本地调试

点击debugd061c6df3d6e141e0bfb662fc9cbf4a2.png可以看到控制台中显示出了以下字样,说明连接成功。

Connected to the target VM, address: '{ip}:8002', transport: 'socket'

然后就可以像调试本地程序一样打断点调试了~

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:

https://blog.csdn.net/m0_46311226/article/details/108957070

c2b53c472f4337ac4eadceecb9a6e53f.gif

08c2439e7e7d4f027c5a634ccfbdef19.gif

  • 新款SpringBoot在线教育平台开源了

  • 精品帖子大汇总

  • 一把“乐观锁”轻松搞定高并发下的幂等性问题(附视频教程)

  • 一文搞懂Java8 Lambda表达式(附视频教程)

感谢点赞支持下哈 169c67672539034a7b1ee848b1a00741.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值