idea springboot遠(yuǎn)程debug的操作方法
Remote Debug 綜述
當(dāng)我們的后臺(tái)項(xiàng)目部署到服務(wù)器上時(shí),由于環(huán)境和本地不同,有時(shí)候也會(huì)有一些奇奇怪怪的問(wèn)題出現(xiàn)。只依賴(lài)服務(wù)器上的日志來(lái)診斷可能太不靈活,這時(shí)就需要我們進(jìn)行遠(yuǎn)程調(diào)試。在開(kāi)始我們的步驟前,先確認(rèn)一點(diǎn):我們現(xiàn)在是希望能夠在本地遠(yuǎn)程調(diào)試服務(wù)器上的程序,也就是說(shuō):
本地 = 調(diào)試者 服務(wù)器 = 被調(diào)試者而且還有一點(diǎn)我們需要注意,就是在調(diào)試遠(yuǎn)程服務(wù)器上的代碼時(shí),一定要保證 遠(yuǎn)程服務(wù)器 上的代碼和 本地 代碼一致,不然就失去debug效果了。
First Step 本地配置遠(yuǎn)程服務(wù) 在本地,打開(kāi)我們的idea,在運(yùn)行窗口上點(diǎn)擊 Edit Configurations…
會(huì)看到新跳出來(lái)一個(gè)窗口,點(diǎn)擊左上角 ‘+’ 號(hào),選擇 Remote
填入相關(guān)信息
這樣就算是做好了我們本地的遠(yuǎn)程debug配置。這里補(bǔ)充一個(gè)小tip:
這里設(shè)置的8002端口是監(jiān)聽(tīng)端口,讀者也可以修改為自己想要的端口。但是要注意,監(jiān)聽(tīng)端口和啟動(dòng)端口必須不同。也就是服務(wù)器上項(xiàng)目啟動(dòng)的端口,要和你現(xiàn)在設(shè)置的這個(gè)監(jiān)聽(tīng)端口不一樣。
先別急著把這個(gè)界面關(guān)掉,我們把這一段內(nèi)容復(fù)制下來(lái):
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8002
Second Step 服務(wù)器以遠(yuǎn)程監(jiān)聽(tīng)方式啟動(dòng)
打開(kāi)我們的Xshell(或其他SSH工具)連接上我們的遠(yuǎn)程服務(wù)器。啟動(dòng)時(shí),我們將過(guò)去的java -jar xxx.jar命令給替換成:
java -jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8002 xxx.jar
但如果我們的遠(yuǎn)程服務(wù)器是阿里云、騰訊云等云服務(wù)商的云服務(wù)器,我們可能需要像下面這樣改:指定我們開(kāi)放的ip,確保不會(huì)被默認(rèn)設(shè)置為127.0.0.1:8002導(dǎo)致外部無(wú)法訪問(wèn)進(jìn)來(lái)。
java -jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=0.0.0.0:8002 xxx.jar
回車(chē)啟動(dòng),會(huì)看到下面的字樣,就說(shuō)明成功監(jiān)聽(tīng)了:
Listening for transport dt_socket at address: 8002
Third Step 在本地調(diào)試
點(diǎn)擊debug
可以看到控制臺(tái)中顯示出了以下字樣,說(shuō)明連接成功。
Connected to the target VM, address: ’{ip}:8002’, transport: ’socket’
然后就可以像調(diào)試本地程序一樣打斷點(diǎn)調(diào)試了~
到此這篇關(guān)于idea springboot遠(yuǎn)程debug的操作方法的文章就介紹到這了,更多相關(guān)idea springboot遠(yuǎn)程debug內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. SpringMVC+Jquery實(shí)現(xiàn)Ajax功能2. 解析原生JS getComputedStyle3. ASP 連接Access數(shù)據(jù)庫(kù)的登陸系統(tǒng)4. Jsp中request的3個(gè)基礎(chǔ)實(shí)踐5. 詳解瀏覽器的緩存機(jī)制6. jsp EL表達(dá)式詳解7. jsp實(shí)現(xiàn)textarea中的文字保存換行空格存到數(shù)據(jù)庫(kù)的方法8. IE6/IE7/IE8/IE9中tbody的innerHTML不能賦值的完美解決方案9. 詳解CSS偽元素的妙用單標(biāo)簽之美10. 詳解JSP 內(nèi)置對(duì)象request常見(jiàn)用法
