Spring Boot Debug调试过程图解

作者:Java技术栈 时间:2023-12-13 10:27:33 

这篇文章主要介绍了Spring Boot Debug调试过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

最近发现 Spring Boot 本地不能 Debug 调试了,原来 Spring Boot 升级后,对应插件的命令参数都变了,故本文做一个升级。

背景:

Spring Boot 项目在使用 Spring Boot Maven 插件执行启动命令 spring-boot:run 的时候,如果设置的断点进不去,要进行以下的设置。

官方解决方案:

By default, the run goal runs your application in a forked process. If you need to debug it, you should add the necessary JVM arguments to enable remote debugging. The following configuration suspend the process until a debugger has joined on port 5005:

直接看怎么做吧!

1、添加 JVM 参数

在插件 spring-boot-maven-plugin 里面加上 jvmArguments 配置。


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

或者在命令行指定:


mvn spring-boot:run -Dspring-boot.run.jvmArguments="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005"

Spring Boot Debug调试过程图解

最新配置可以参考官方说明:

https://docs.spring.io/spring-boot/docs/current/maven-plugin/examples/run-debug.html

2、添加一个Remote

在开发工具里面新增一个 Remote 配置:

Spring Boot Debug调试过程图解

只需要确定 Host、Port 参数即可。

Host:地址

localhost:本地启动地址;

Port:端口

5005:上面命令行指定的端口;

3、开始调试

先启动加了 jvmArguments 参数的 Spring Boot 项目:

Spring Boot Debug调试过程图解

程序停在监听端口:5005,再 debug 启动Remote:

Spring Boot Debug调试过程图解

再回到项目,开始启动输出日志,然后就可以进行断点调试了。

这就是远程调试了,也能帮你 debug 远程 Spring Boot 应用,但在本地调试要操作两次,略显麻烦。

来源:https://www.cnblogs.com/javastack/p/12156042.html

标签:Spring,Boot,Debug,调试
0
投稿

猜你喜欢

  • .NET程序员如何入门Spring Boot详解

    2022-04-18 08:04:05
  • Java函数式编程(六):Optional

    2021-07-04 21:44:05
  • springboot实现公众号接收回复消息和超过5秒被动回复消息

    2022-10-16 04:40:48
  • Java网络编程之基于TCP协议

    2023-08-20 14:05:51
  • java基础的详细了解第八天

    2023-11-08 10:47:47
  • Android5.0中多种水波纹效果的实现代码

    2023-09-23 04:42:53
  • 简单的理解java集合中的HashSet和HashTree几个重写方法

    2022-10-23 15:16:36
  • java匿名内部类实例简析

    2022-12-26 21:25:15
  • JAVA并发图解

    2023-03-26 03:11:41
  • springboot ErrorPageFilter的实际应用详解

    2023-11-24 01:02:59
  • SpringBoot使用MyBatis-Plus解决Invalid bound statement异常

    2022-12-23 12:13:13
  • java中JVM中如何存取数据和相关信息详解

    2023-08-10 03:49:46
  • Spring主配置文件(applicationContext.xml) 导入约束详解

    2021-09-29 06:21:01
  • Android中判断是否联网实现代码

    2023-01-22 09:03:14
  • Spring Boot中操作使用Redis实现详解

    2023-11-24 02:39:29
  • 简述Java中的四种引用类型

    2023-11-29 00:46:56
  • 详解spring中aop不生效的几种解决办法

    2022-07-24 18:11:40
  • 使用C++程序获取新浪行情数据的方法

    2022-06-16 13:14:35
  • 关于重写equals()方法和hashCode()方法及其简单的应用

    2023-08-01 06:48:13
  • jdk15的安装与配置全过程记录

    2023-01-06 05:45:10
  • asp之家 软件编程 m.aspxhome.com