欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

idea springboot远程debug的操作方法

时间:2021-07-30 08:13:51|栏目:JAVA代码|点击:

Remote Debug 综述

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

  • 本地 = 调试者
  • 服务器 = 被调试者

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

First Step 本地配置远程服务 在本地,打开我们的idea,在运行窗口上点击 Edit Configurations…

在这里插入图片描述

会看到新跳出来一个窗口,点击左上角 ‘+' 号,选择 Remote

在这里插入图片描述

填入相关信息

在这里插入图片描述

这样就算是做好了我们本地的远程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 在本地调试

点击debug

在这里插入图片描述

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

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

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

上一篇:SpringBoot启动器Starters使用及原理解析

栏    目:JAVA代码

下一篇:Java 常用类解析:java异常机制,异常栈,异常处理方式,异常链,异常丢失详解

本文标题:idea springboot远程debug的操作方法

本文地址:http://www.codeinn.net/misctech/162675.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有