? ? ? 由于之前一直在使用spring-boot開發(fā),但一直苦惱于不知道如何利用debug調(diào)試代碼.在網(wǎng)上查找了很多文章之后咏雌。學(xué)習(xí)之余決定把spring-boot項(xiàng)目分別在eclipse和idea的調(diào)試過程簡單做一下整理,方便大家以后能根據(jù)自己的需求來學(xué)習(xí),不足之處還望指正。其調(diào)試原理主要還是利用jvm的遠(yuǎn)程調(diào)試颓影。有興趣研究的可以看文章最后的鏈接
- **pom.xml關(guān)于jvm啟動(dòng)參數(shù)的配置**
- **啟動(dòng)spring-boot項(xiàng)目**
- **利用debug工具連接調(diào)試**
- **設(shè)置斷點(diǎn),調(diào)用api接口**
-------------------
###一懒鉴、pom.xml關(guān)于jvm啟動(dòng)參數(shù)的配置
jvm參數(shù)配置如下所示:

簡單介紹下以上參數(shù)的含義:
-Xdebug是通知JVM工作在DEBUG模式下
-Xrunjdwp是通知JVM使用(java debug wire protocol)來運(yùn)行調(diào)試環(huán)境诡挂。該參數(shù)同時(shí)了一系列的調(diào)試選項(xiàng)
transport指定了調(diào)試數(shù)據(jù)的傳送方式,dt_socket是指用SOCKET模式
server參數(shù)是指是否支持在server模式的VM中
suspend指明,是否在調(diào)試客戶端建立起來后临谱,再執(zhí)行VM璃俗,如果為y,那么當(dāng)前的VM就是suspend直到有debug client連接進(jìn)來才開始執(zhí)行程序悉默。如果你的程序不是服務(wù)器監(jiān)聽模式并且很快就執(zhí)行完畢的城豁,那么可以選擇在y來阻塞它的啟動(dòng)。
address=5005 調(diào)試服務(wù)器的端口號(hào)抄课,客戶端用來連接服務(wù)器的端口號(hào)唱星。
###二、啟動(dòng)spring-boot項(xiàng)目
? ? 在eclipse和idea下分別啟動(dòng)項(xiàng)目跟磨。因需要不同公共環(huán)境的配置间聊,故選擇maven的啟動(dòng)命令:clean install -Ptest -X spring-boot:run(-Ptest表示測試環(huán)境下啟動(dòng),-X表示強(qiáng)制執(zhí)行)抵拘,不依賴于任何公共配置的spring boot項(xiàng)目可獨(dú)立執(zhí)行(即啟動(dòng)按鈕)哎榴。大家可根據(jù)自己的實(shí)際情況選擇。
1.eclipse的spring -boot項(xiàng)目啟動(dòng)成功的截圖如下仑濒,圈紅線處表示啟動(dòng)成功:

2.idea的spring -boot項(xiàng)目啟動(dòng)成功的截圖如下叹话,圈紅線處表示啟動(dòng)成功:
###三、利用debug工具連接調(diào)試
1.關(guān)于eclipse的debug連接調(diào)試墩瞳,可右擊項(xiàng)目-->選擇debug as-->Debug Configuration...-->Remote Java Application-->右擊new即可驼壶。
a.remote? java application:

b.配置host以及port,因項(xiàng)目在本地啟動(dòng)喉酌,故使用localhost,port用之前配置的address的值热凹,即5005端口泵喘。接著點(diǎn)擊debug連接調(diào)試

c.debug啟動(dòng)連接調(diào)試成功如圖所示,初始配置之后般妙,下次可選擇點(diǎn)擊小蟲子連接調(diào)試

2.關(guān)于idea的debug連接調(diào)試纪铺,可選擇idea右上角的edit Configuration..(啟動(dòng)按鈕旁)-->選擇左上角的+-->選擇Remote點(diǎn)擊新增即可。
a.remote頁面出現(xiàn)之后碟渺,同樣因?yàn)閟pring-boot項(xiàng)目也是在本地啟動(dòng)鲜锚,故使用localhost,port用之前配置的address的值,即5005端口苫拍。name名稱可隨意取(不作限定),接著點(diǎn)擊ok:

b.debug啟動(dòng)連接調(diào)試成功如圖所示,選擇右邊的debug啟動(dòng),如圖所示
①點(diǎn)擊按鈕:

②remote啟動(dòng)連接成功:

###四芜繁、設(shè)置斷點(diǎn),調(diào)用api接口
1.eclipse下編寫測試類調(diào)用api接口绒极,同時(shí)設(shè)置斷點(diǎn)骏令,debug調(diào)試成功(另說明,調(diào)用接口調(diào)試方法自定垄提,不一定非要編寫測試類調(diào)用)
a.編寫測試類調(diào)用api接口

b.調(diào)試成功

2.idea下編寫測試類調(diào)用api接口榔袋,同時(shí)設(shè)置斷點(diǎn),debug調(diào)試成功(另說明铡俐,調(diào)用接口調(diào)試方法自定凰兑,不一定非要編寫測試類調(diào)用)
a.編寫測試類調(diào)用api接口

b.調(diào)試成功

在此,關(guān)于spring-boot基于jvm分別在eclipse和idea的debug調(diào)試介紹就完成了高蜂。不足之處聪黎,還望指正。
參考文章:
http://blog.csdn.net/hongchangfirst/article/details/44191925
http://blog.csdn.net/fyq891014/article/details/7534711
http://www.cnblogs.com/krockey/p/5056945.html