1. 程式人生 > 程式設計 >idea springboot遠端debug的操作方法

idea springboot遠端debug的操作方法

Remote Debug 綜述

當我們的後臺專案部署到伺服器上時,由於環境和本地不同,有時候也會有一些奇奇怪怪的問題出現。只依賴伺服器上的日誌來診斷可能太不靈活,這時就需要我們進行遠端除錯
在開始我們的步驟前,先確認一點:
我們現在是希望能夠在本地遠端除錯伺服器上的程式,也就是說:

  • 本地 = 除錯者
  • 伺服器 = 被除錯者

而且還有一點我們需要注意,就是在除錯遠端伺服器上的程式碼時,一定要保證 遠端伺服器 上的程式碼和 本地 程式碼一致,不然就失去debug效果了。

First Step 本地配置遠端服務 在本地,開啟我們的idea,在執行視窗上點選 Edit Configurations…

在這裡插入圖片描述

會看到新跳出來一個視窗,點選左上角 ‘+' 號,選擇 Remote

在這裡插入圖片描述

填入相關資訊

在這裡插入圖片描述

這樣就算是做好了我們本地的遠端debug配置。
這裡補充一個小tip

這裡設定的8002埠是監聽埠,讀者也可以修改為自己想要的埠。
但是要注意,監聽埠啟動埠必須不同。
也就是伺服器上專案啟動的埠,要和你現在設定的這個監聽埠不一樣。

先別急著把這個介面關掉,我們把這一段內容複製下來:

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8002

Second Step 伺服器以遠端監聽方式啟動

開啟我們的Xshell(或其他SSH工具)連線上我們的遠端伺服器。

啟動時,我們將過去的java -jar xxx.jar命令給替換成:

java -jar -agentlib:jdwp=transport=dt_socket,address=8002 xxx.jar

但如果我們的遠端伺服器是阿里雲、騰訊雲等雲服務商的雲伺服器,我們可能需要像下面這樣改:
指定我們開放的ip,確保不會被預設設定為127.0.0.1:8002導致外部無法訪問進來。

java -jar -agentlib:jdwp=transport=dt_socket,address=0.0.0.0:8002 xxx.jar

回車啟動,會看到下面的字樣,就說明成功監聽了:

Listening for transport dt_socket at address: 8002

Third Step 在本地除錯

點選debug

在這裡插入圖片描述

可以看到控制檯中顯示出了以下字樣,說明連線成功。

Connected to the target VM,address: '{ip}:8002',transport: 'socket'

然後就可以像除錯本地程式一樣打斷點除錯了~

到此這篇關於idea springboot遠端debug的操作方法的文章就介紹到這了,更多相關idea springboot遠端debug內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!