idea springboot远程debug的操作方法

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'

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

到此这篇关于idea springboot远程debug的操作方法的文章就介绍到这了,更多相关idea springboot远程debug内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • SpringBoot项目设置断点debug调试无效忽略web.xml问题的解决

    刚接触springboot项目, (1)发现断点debug调试无效,很郁闷,网上搜索解决办法. 看到的都是一些很复杂的方案,说是远程调试,还要另外开端口号.这和传统的项目不一样,因此觉得没必要. 所以经过摸索,发现有一种更加简单的方式,步骤如下: 在pom文件的plugin部分加上一段配置: <configuration> <fork>false</fork> </configuration> 这样就ok了: (2)关于SpringBoot项目中报错说web

  • IDEA基于支付宝小程序搭建springboot项目的详细步骤

    服务端 在平台上创建springboot小程序应用 创建小程序 登录蚂蚁金服开放平台,扫码登录填写信息后,点击支付宝小程序,选择立即接入 > 同意个人公测 > 开始创建 . 填写好小程序基本信息后,点击创建按钮,创建名为xxx小程序. PS:一个账号下最多可以创建10个小程序:未提交过审核的小程序可以删除,删除的小程序不在计数范围. 创建云应用后端服务 在小程序页面选择刚创建的小程序,点击查看,进入开发者页面. 在左侧导航栏选择云服务(免费),点击创建云服务,选择创建云应用,技术栈选Sprin

  • 解决idea不支持SpringBoot yml文件的图文教程

    再初用SpringBoot时肯定会遇到这样的问题: 为什么idea不支持yml? 为什么idea的yml文件没有提示? 为什么idea的yml不识别? 第一个问题解答  1.安装YAML插件 2.再Settings中找到File Types然后找YAML看看是否有yml后缀名 第二个问题为什么没有提示? 1.安装插件SnakeYAML plugin即可 第三个问题:大坑! 以上问题还是不能解决,那么 1.看看你项目的结构你的resource是一个文件夹还是一个resource的包 2.是否是id

  • Intellij IDEA实现SpringBoot项目多端口启动的两种方法

    前言 有时候使用springboot项目时遇到这样一种情况,用一个项目需要复制很多遍进行测试,除了端口号不同以外,没有任何不同.这时我们强大的Intellij IDEA就能替我们实现. 实现方法 第一种方法 1.点击图中Edit Configurations,如图 2.取消选中的Single instance only 3.启动项目,demo(9000),如图. 4.修改配置文件中的端口号为9001,启动项目,demo(9001),如图. 从下方可以看到demo项目分别以9000和9001启动了

  • java通过Idea远程一键部署springboot到Docker详解

    一.开发前准备 1. Docker的安装可以参考https://docs.docker.com/install/ 2. 配置docker远程连接端口 vi /usr/lib/systemd/system/docker.service 找到 ExecStart,在最后面添加 -H tcp://0.0.0.0:2375,如下图所示 3. 重启docker systemctl daemon-reload systemctl start docker 4. 开放端口 firewall-cmd --zon

  • SpringBoot 在IDEA中实现热部署步骤详解(实用版)

    好的热部署让开发调试事半功倍,这样的"神技能"怎么能错过呢, 使用过IDEA的童鞋赶紧进来撸一把吧. 学习目标 快速学会在项目中使用热部署插件运行项目,提高开发效率. 具体步骤 一.开启IDEA的自动编译(静态) 具体步骤:打开顶部工具栏  File -> Settings -> Default Settings -> Build -> Compiler  然后勾选 Build project automatically . 二.开启IDEA的自动编译(动态)

  • idea springboot远程debug的操作方法

    Remote Debug 综述 当我们的后台项目部署到服务器上时,由于环境和本地不同,有时候也会有一些奇奇怪怪的问题出现.只依赖服务器上的日志来诊断可能太不灵活,这时就需要我们进行远程调试. 在开始我们的步骤前,先确认一点: 我们现在是希望能够在本地远程调试服务器上的程序,也就是说: 本地 = 调试者 服务器 = 被调试者 而且还有一点我们需要注意,就是在调试远程服务器上的代码时,一定要保证 远程服务器 上的代码和 本地 代码一致,不然就失去debug效果了. First Step 本地配置远程

  • springboot使用IDEA远程Debug

    项目上线之后,如果日志打印的很模糊或者业务逻辑比较复杂,有时候无法定位具体的错误原因,因此可以通过IDEA远程代理进行Debug. 线上的代码一定要和本地的一致! 环境: 2.1.4.RELEASE(org.springframework.boot) jdk1.8 Apache Maven 3.5.0 1.先创建一个准备远程调试的Demo,注意构建项目的配置 <?xml version="1.0" encoding="UTF-8"?> <proje

  • 远程debug调试入门

    目录 1.远程DEBUG的必要性 2,IDEA构建SpringBoot测试Demo 3,测试Demo项目配置支持远程调试 4,IDEA打包jar 5,启动jar并且带启动参数支持远程调试 6,IDEA远程DEBUG配置 1,启动项下拉,选择 Edit Configurations...编辑配置 2,点击+,选择Remote,添加远程DEBUG配置 3,添加远程DEBUG配置项,Host和Port,配置后,点击Apply和OK按钮 7,IDEA远程DEBUG测试 1,打测试断点 2,选择远程deb

  • 因不会远程debug调试我被项目经理嘲笑了

    目录 1,远程DEBUG的必要性 2,IDEA构建SpringBoot测试Demo 3,测试Demo项目配置支持远程调试 4,IDEA打包jar 5,启动jar并且带启动参数支持远程调试 6,IDEA远程DEBUG配置 7,IDEA远程DEBUG测试 8,eclipse远程DEBUG实现 9,打war包方式配置远程DEBUG 10,远程debug视频教程+文档+源码下载 大家好,我是曹尼玛,刚从培训机构毕业,去一家单位上班一周了- 这一周项目经理让我熟悉了项目业务,架构和设计,不算难,凭借我培训

  • ubuntu server配置mysql并实现远程连接的操作方法

    服务器:ubuntu server 16.04 LSS 客户机:ubuntu 16.04 LTS 服务器配置 服务器安装mysql # eric @ userver in ~ [14:00:31] $ sudo apt install mysql-server install mysql-client libmysqlclient-dev 检查是否成功SET PASSWORD FOR 'pig'@'%' = PASSWORD("123456"); # eric @ userver in

  • Eclipse远程debug的步骤与注意事项

    目的:可以适用于支付宝微信支付接口的一些签名验证需要放在服务端才能执行又需要debug时. 步骤:需要在远程服务端修改tomcat配置,然后在本地进行debug配置. 远程tomcat配置:个人习惯使用./startup.sh进行启动,所以介绍对应方式,有兴趣可以留言,我们探讨其它方式. 在catalina.sh文件中加入如下配置: CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend

  • Spring-boot的debug调试代码实例

    这篇文章主要介绍了Spring-boot的debug调试代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 xml文件中配置: <property> <name>scf.server.vm.all</name> <value>-Xms512m -Xmx512m -Xmn128m -Xss1024K -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m -XX:

  • IntelliJ IDEA远程Debug Linux的Java程序,找问题不要只会看日志了(推荐)

    1 前言 我们习惯于在本地开发的时候debug,能快速定位与解决问题,那部署在服务器上是不是就没有办法了呢?只能通过查看日志来定位? 不是的,在远端的服务器上,我们一样可以debug. 2 IDEA的debug 我们先来看一下在IntelliJ IDEA直接debug是怎样的. 先准备一个简单的Java程序: package com.pkslow.basic; import java.util.Map; public class RemoteDebug { public static void

  • springboot实现热部署操作方法

    1.在 Spring Boot 开发环境下禁用模板缓存 #开发环境下关闭 thymeleaf 模板缓存,thymeleaf 默认是开启状态 spring.thymeleaf.cache=false 2.引入依赖 <!--热部署--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId>

  • Intellij IDEA远程debug教程实战和要点总结(推荐)

    远程调试,特别是当你在本地开发的时候,你需要调试服务器上的程序时,远程调试就显得非常有用. JAVA 支持调试功能,本身提供了一个简单的调试工具JDB,支持设置断点及线程级的调试同时,不同的JVM通过接口的协议联系,本地的Java文件在远程JVM建立联系和通信.此篇是Intellij IDEA远程调试的教程汇总和原理解释,知其然而又知其所以然. 本机Intellij IDEA远程调试配置 1,打开Inteliij IDEA,顶部菜单栏选择Run-> Edit Configurations,进入下

随机推荐