聲明:原創(chuàng)文章伞广,轉(zhuǎn)載請注明出處稳其。http://www.reibang.com/p/0152d13c0768
1换衬、背景
在很多情況下,服務(wù)端程序部署在遠(yuǎn)程亡蓉,某部分邏輯出現(xiàn)問題時(shí)晕翠,不停地對代碼修改,增加log查出問題根源砍濒。但是淋肾,有些服務(wù)啟動(dòng)時(shí)間較長、不斷的打包爸邢、上傳巫员、測試會令人非常頭疼。因此甲棍,可以使用遠(yuǎn)程調(diào)試的方式對遠(yuǎn)程部署的服務(wù)調(diào)試。
2赶掖、準(zhǔn)備
- idea IDE感猛、遠(yuǎn)程服務(wù)源碼
- 遠(yuǎn)程服務(wù)
- 測試客戶端
3、部署圖
由于是對源碼進(jìn)行調(diào)試奢赂,源碼經(jīng)編譯后運(yùn)行在遠(yuǎn)程服務(wù)器上陪白,并且在本地Idea IDE中打開源碼。在Idea連接上遠(yuǎn)程服務(wù)后膳灶,測試請求遠(yuǎn)程服務(wù)咱士,在可以看到idea中設(shè)置的斷點(diǎn)信息。
4轧钓、步驟
- 4.1 遠(yuǎn)程服務(wù)運(yùn)行增加特定JVM參數(shù)
-Xdebug -Xrunjdwp:transport=dt_socket,suspend=n,server=y,address=8889
其中序厉,address=8889為debug端口,idea需要連接此端口毕箍。
-
4.2 Idea 連接遠(yuǎn)程服務(wù)
按照下圖的三個(gè)步驟進(jìn)行操作弛房,建立遠(yuǎn)程連接。
連接 4.3 debug
在遠(yuǎn)程服務(wù)啟動(dòng)后而柑,點(diǎn)擊下圖中的“蟲子”(shift+F9)進(jìn)行調(diào)試文捶,并在代碼中設(shè)置好斷點(diǎn)。
- 4.4 客戶端請求
從圖中看到媒咳,當(dāng)請求后粹排,變量值不僅動(dòng)態(tài)出現(xiàn)在代碼后面,而且在底部也有相應(yīng)的變量值涩澡。
5顽耳、備注
只有添加的斷點(diǎn)中有對號時(shí),才表示斷點(diǎn)有效。
如果出現(xiàn)下圖的情況斧抱,可以看看是否是禁用了斷點(diǎn)常拓。