目录

一、 前提二、 IDEA中如何实现远程Debug模式(1)、创建demo项目(2)、引入依赖(3)、创建启动类和创建demo(4)、配置idea

二、 IDEA的Debug的优缺点?二、 Demo的源代码地址

总结

一、 前提

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

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

(1)、创建demo项目

1.File一>New一>project… 2.Maven Archetype一>填写Name一>选择jdk1.8一>选择Web一>创建

(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。

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

4.0.0

org.springframework.boot

spring-boot-starter-parent

2.3.5.RELEASE

com.le

remote-idea

jar

1.0-SNAPSHOT

remote-idea Maven Webapp

junit

junit

3.8.1

test

org.springframework.boot

spring-boot-starter-web

org.projectlombok

lombok

remote-idea

org.springframework.boot

spring-boot-maven-plugin

-Xdebug -Xrunjdwp:transport=dt_socket,address=5005,server=y,suspend=n

(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是否正常

(4)、配置idea

找到Remote Jvm Debug

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

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

打包

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

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

在IDEA中启动,打上断点

使用ApiPost测试

成功 这个时候我们就可以开始Debug了,是不是方便找问题了,使用linux系统也是一样的,只是改变一下启动方式,还要防火墙问题。

二、 IDEA的Debug的优缺点?

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

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

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

二、 Demo的源代码地址

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

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

总结

  以上就是使用IDEA来实现远程Debug的方法,希望能够帮助到大家,点赞支持一下,谢谢!

好文链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: