Spring Boot Debug調(diào)試過程圖解
這篇文章主要介紹了Spring Boot Debug調(diào)試過程圖解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
最近發(fā)現(xiàn) Spring Boot 本地不能 Debug 調(diào)試了,原來 Spring Boot 升級(jí)后,對(duì)應(yīng)插件的命令參數(shù)都變了,故本文做一個(gè)升級(jí)。
背景:
Spring Boot 項(xiàng)目在使用 Spring Boot Maven 插件執(zhí)行啟動(dòng)命令 spring-boot:run 的時(shí)候,如果設(shè)置的斷點(diǎn)進(jìn)不去,要進(jìn)行以下的設(shè)置。
官方解決方案:
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 參數(shù)
在插件 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"

最新配置可以參考官方說明:
https://docs.spring.io/spring-boot/docs/current/maven-plugin/examples/run-debug.html
2、添加一個(gè)Remote
在開發(fā)工具里面新增一個(gè) Remote 配置:

只需要確定 Host、Port 參數(shù)即可。
Host:地址
localhost:本地啟動(dòng)地址;
Port:端口
5005:上面命令行指定的端口;
3、開始調(diào)試
先啟動(dòng)加了 jvmArguments 參數(shù)的 Spring Boot 項(xiàng)目:

程序停在監(jiān)聽端口:5005,再 debug 啟動(dòng)Remote:

再回到項(xiàng)目,開始啟動(dòng)輸出日志,然后就可以進(jìn)行斷點(diǎn)調(diào)試了。
這就是遠(yuǎn)程調(diào)試了,也能幫你 debug 遠(yuǎn)程 Spring Boot 應(yīng)用,但在本地調(diào)試要操作兩次,略顯麻煩。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
SpringCloud?Feign集成AOP的常見問題與解決
在使用?Spring?Cloud?Feign?作為微服務(wù)通信的工具時(shí),我們可能會(huì)遇到?AOP?不生效的問題,這篇文章將深入探討這一問題,給出幾種常見的場(chǎng)景,分析可能的原因,并提供解決方案,希望對(duì)大家有所幫助2023-10-10
java GUI編程之監(jiān)聽操作實(shí)例分析
這篇文章主要介紹了java GUI編程之監(jiān)聽操作,結(jié)合實(shí)例形式分析了java GUI編程監(jiān)聽操作的Button監(jiān)聽、TextField文本輸入監(jiān)聽等相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2020-01-01
SpringBoot整合JavaMail通過阿里云企業(yè)郵箱發(fā)送郵件的實(shí)現(xiàn)
這篇文章主要介紹了SpringBoot整合JavaMail通過阿里云企業(yè)郵箱發(fā)送郵件的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
詳解Java如何使用集合來實(shí)現(xiàn)一個(gè)客戶信息管理系統(tǒng)
讀萬卷書不如行萬里路,只學(xué)書上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用Java 集合實(shí)現(xiàn)一個(gè)客戶信息管理系統(tǒng),大家可以在過程中查缺補(bǔ)漏,提升水平2021-11-11
java編程實(shí)現(xiàn)屏幕截圖(截屏)代碼總結(jié)
這篇文章主要介紹了java編程實(shí)現(xiàn)屏幕截圖(截屏)代碼,結(jié)合3個(gè)實(shí)例總結(jié)分析了Java截屏?xí)r頁面抓取及圖片保存的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11
JAVA序列化Serializable及Externalizable區(qū)別詳解
這篇文章主要介紹了JAVA序列化Serializable及Externalizable區(qū)別詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07

