IDEA实现远程Debug调试(附上Demo代码)

这篇具有很好参考价值的文章主要介绍了IDEA实现远程Debug调试(附上Demo代码)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


一、 前提

  需要准备JDK1.8环境,安装IDEA(版本不限)

二、 IDEA中如何实现远程Debug模式

(1)、创建demo项目

1.File一>New一>project…
idea远程debug配置,IDEA,Java,intellij-idea,java,ide
2.Maven Archetype一>填写Name一>选择jdk1.8一>选择Web一>创建

idea远程debug配置,IDEA,Java,intellij-idea,java,ide

(2)、引入依赖

参数详解:

【-Xdebug】:通知JVM工作在DEBUG模式下。
【-Xrunjdwp】:通知JVM使用(Java debug wire protocol)运行调试环境。
【transport】:指定调试数据的传送方式,dt_socket是指用SOCKET模式,另有dt_shmem指用共享内存方式。据说:dt_shmem只适用于Windows平台。
【address】:调试服务器的端口号,客户端用来连接服务器的端口号(一般工具中默认5005端口,也可以自定义,这个没有关系)。
【server=y/n】:VM 是否需要作为调试服务器执行(选择y)。
【suspend=y/n】:是否在调试客户端建立连接之后启动 VM。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.3.5.RELEASE</version>
    <relativePath/>
  </parent>
  <groupId>com.le</groupId>
  <artifactId>remote-idea</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>remote-idea Maven Webapp</name>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <!--启动类jar包-->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
    </dependency>

  </dependencies>

  <build>
    <finalName>remote-idea</finalName>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <configuration>
          <jvmArguments>-Xdebug -Xrunjdwp:transport=dt_socket,address=5005,server=y,suspend=n</jvmArguments>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

(3)、创建启动类和创建demo

启动类:

package com.le;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * @author: le
 * @date: 2023年05月10日 11:25
 * @ClassName: RemoteIdeaApplication
 * @Description: TODO
 */
@SpringBootApplication
public class RemoteIdeaApplication {
    public static void main(String[] args) {
        SpringApplication.run(RemoteIdeaApplication.class, args);
    }
}

测试demo:

package com.le.controller;

import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author: le
 * @date: 2023年05月10日 11:31
 * @ClassName: TestDemoController
 * @Description: TODO
 */
@RestController
public class TestDemoController {

    @PostMapping("/test")
    public String test(Integer id, String name) {
        System.out.println("id=" + id);
        System.out.println("name=" + name);
        if (id > 0) {
            return "le " + name;
        } else {
            return "false";
        }
        
    }
}

启动,测试一下demo是否正常

idea远程debug配置,IDEA,Java,intellij-idea,java,ide
idea远程debug配置,IDEA,Java,intellij-idea,java,ide

(4)、配置idea

idea远程debug配置,IDEA,Java,intellij-idea,java,ide
找到Remote Jvm Debug
idea远程debug配置,IDEA,Java,intellij-idea,java,ide

填写名称,输入IP地址,pom里面配置的端口,选择jdk对应版本,选择debug的模块

注意:
选择 jdk9以上,则为
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:1111

idea远程debug配置,IDEA,Java,intellij-idea,java,ide
打包
idea远程debug配置,IDEA,Java,intellij-idea,java,ide

idea远程debug配置,IDEA,Java,intellij-idea,java,ide

把Jar包放入在D盘根目录下面,然后使用CMD命令启动

java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar remote-idea.jar

idea远程debug配置,IDEA,Java,intellij-idea,java,ide
在IDEA中启动,打上断点

idea远程debug配置,IDEA,Java,intellij-idea,java,ide

使用ApiPost测试
idea远程debug配置,IDEA,Java,intellij-idea,java,ide

idea远程debug配置,IDEA,Java,intellij-idea,java,ide
成功
idea远程debug配置,IDEA,Java,intellij-idea,java,ide
这个时候我们就可以开始Debug了,是不是方便找问题了,使用linux系统也是一样的,只是改变一下启动方式,还要防火墙问题。

二、 IDEA的Debug的优缺点?

优点: 把断点打在本地,直接访问线上程序即可,方便调试。(线上程序出了问题,无法根据log进行排查时)。

缺点: 可能会造成“阻塞”。(同一程序中,本地断点没走完之前,别的接口请求可能会“阻塞”)。

使用这种方式,有利有弊,根据不同场景判断是否使用。

二、 Demo的源代码地址

百度网盘链接:https://pan.baidu.com/s/1i6BxYLtGiRzxLXvlyMxtTw
提取码:pfg2

也可私信我,找我获取源代码


总结

  以上就是使用IDEA来实现远程Debug的方法,希望能够帮助到大家,点赞支持一下,谢谢!文章来源地址https://www.toymoban.com/news/detail-736951.html

到了这里,关于IDEA实现远程Debug调试(附上Demo代码)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用 IDEA 远程 Debug 调试,太实用了!

    有时候我们需要进行远程的debug,本文研究如何进行远程debug,以及使用 IDEA 远程debug的过程中的细节。看完可以解决你的一些疑惑。 远程debug的服务,以springboot微服务为例(springcloud的应该差不多,我没研究过)。首先,启动springboot需要加上特定的参数。 推荐一个开源免费的

    2024年02月12日
    浏览(26)
  • IntelliJ IDEA远程调试:使用IDEA Remote Debug进行高效调试的指南

    在开发分布式系统时,调试是一个重要但复杂的环节。开发者通常需要跨越多个服务、模块和线程来追踪和解决问题。在没有远程调试的情况下,许多开发者会在代码中添加各种日志语句,然后重新部署和上线来调试。这种方法不仅费时,而且可能引入额外的错误或问题。

    2024年02月09日
    浏览(28)
  • IDEA远程Debug调试工具(Remote)的使用

    我们在开发的过程中,经常会遇到这样的情况:代码在本地测试得好好的,但部署上线后测试结果就不一样了,这时就需要去服务器上查看日志进行分析从而定位问题,但这样还是会比较麻烦,如果能够Debug调试,那岂不是美滋滋。 最近了解到IDEA里面其实有远程Debug调试工具

    2024年02月11日
    浏览(31)
  • IDEA 远程 Debug 调试,你可以不需要,但是要会

    远程debug真的很有用,我个人的真实经历就是有一次,我新开发的功能,在生产上没生效,我询问了运维多次,运维也多次确认回复说是最新的包,又是查日志,对数据,仍然没发现问题,最后我就采用远程debug发现我新开发的代码不存在。 所以不需要不要紧,但是要会,作

    2024年02月08日
    浏览(45)
  • 小白如何进行代码调试Debug(IDEA 2023版)

    本篇文章主要介绍如何进行断点调试 开始调试主要分为两步,第一为设置断点,第二才进行调式操作。 1、设置断点 设置断点的方法基本上大多数的 IDE 都一致,当我们在代码行上的数字旁鼠标左键点击一下,便设置断点成功(可设置多个断点)。断点还可以进行其余设置

    2024年02月07日
    浏览(24)
  • IDEA中快速定位源代码问题(Debug调试)

    视频讲解参考:https://www.bilibili.com/video/BV1EQ4y1y74Y?vd_source=67ae2f0684b162aef8c3f8826109285e 进入debug界面后,以上五个图标功能: 1.回到当前断点所在界面 2.从当前断点处逐行执行(碰到自己写的方法不会进入) 3.逐行执行(碰到自己写的方法会进入) 4.回退 5.运行到光标处

    2024年03月19日
    浏览(32)
  • IDEA工具远程DEBUG调试K8S环境中的容器应用(Java应用)

    IDEA远程调试kubernetes环境中的容器应用(Java应用) 应用场景:Java开发的项目在本地运行正常,然后将 容器运行方式的项目发布到远端服务器上线运行后,出现了异常情况,此时频繁去修改代码发布镜像进行问题验证,将耗费较大的时间成本。 为了提高问题定位和代码调试效率

    2024年02月10日
    浏览(32)
  • Idea断点调试(debug)详解

    打断点: 鼠标左键点击这里就会出现一个红点标志 (有各种形状,后续解释),就打上了一个断点。 启动: 对于已经运行过的程序,直接点击,小虫子就能启动 对于没有运行过的程序,找到程序入口(main方法)前面的三角形 ,鼠标右键启动 启动后,当我们的程序执行到

    2024年02月08日
    浏览(46)
  • IDEA debug 断点调试技巧

    1、首先看下IDEA中Debug模式下的界面: ① 以Debug模式启动服务,左边的一个按钮则是以Run模式启动。在开发中,我一般会直接启动Debug模式,方便随时调试代码。 ② 断点:在左边行号栏单击左键,或者快捷键Ctrl+F8 打上/取消断点,断点行的颜色可自己去设置。 ③ Debug窗口:访

    2024年02月15日
    浏览(27)
  • idea 对JavaScript进行debug调试

    前言 : 工作中接手别人的前端代码没有注释,看浏览器的network或者console切来切去,很麻烦,可以试试idea自带的 javscript debug 功能。 浏览器中输入url 查看debug断点 看到断点的变量就显示了。 大功告成!!

    2024年02月11日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包