最近導入一個Spring Boot的項目,很多業務邏輯不大懂,沒辦法理解,只能Debug調試看從哪裡下手。
由於直接運行在spring boot application下面,直接Debug運行並不能進入斷點,可見我這個調試方式有問題,經過各方面的查詢,得到了解決方案。流程如下:
一、設定pom.xml
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <jvmArguments> -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005 </jvmArguments> </configuration> </plugin> </plugins> </build>
-Xdebug是通知JVM工作在DEBUG模式下
-Xrunjdwp是通知JVM使用(java debug wire protocol)來執行偵錯環境。此參數同時了一系列的調試選項
transport指定了調試資料的傳送方式,dt_socket是指用SOCKET模式
server參數是指是否支援在server模式的VM中
suspend指明,是否在調試客戶端建立起來後,再執行VM,如果為y,那麼目前的VM就是suspend直到有debug client連線進來才開始執行程式。如果你的程式不是伺服器監聽模式並且很快就執行完畢的,那麼可以選擇在y來阻塞它的啟動。
address=5005 調試伺服器的連接埠號碼,客戶端用來連接伺服器的連接埠號碼。
二、用maven進行build:
maven的啟動指令:clean install -Ptest -X spring-boot:run(-Ptest表示測試環境下啟動,實際應用的時候去掉,否則會報缺少test項目的錯誤;-X表示強制執行),不依賴任何公共配置的spring boot項目可獨立執行(即啟動按鈕)。
build successful!
三、設定eclipse的debug工具偵錯
右鍵點選專案–>選擇debug as–>Debug Configuration–>Remote Java Application
#如下圖所示 設定host以及port,因專案在本地啟動,故使用localhost,port用先前設定的address的值,即5005連接埠。接著點選debug連線偵錯
四、打斷點,偵錯
##
以上是一篇文章讓你學會spring boot 斷點調試的詳細內容。更多資訊請關注PHP中文網其他相關文章!