系統城裝機大師 - 唯一官網:www.farandoo.com!

當前位置:首頁 > 網絡編程 > JavaScript > 詳細頁面

idea springboot遠程debug的操作方法

時間:2020-10-08來源:www.farandoo.com作者:電腦系統城

Remote Debug 綜述

當我們的后臺項目部署到服務器上時,由于環境和本地不同,有時候也會有一些奇奇怪怪的問題出現。只依賴服務器上的日志來診斷可能太不靈活,這時就需要我們進行遠程調試。
在開始我們的步驟前,先確認一點:
我們現在是希望能夠在本地遠程調試服務器上的程序,也就是說:

  • 本地 = 調試者
  • 服務器 = 被調試者

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

First Step 本地配置遠程服務 在本地,打開我們的idea,在運行窗口上點擊 Edit Configurations…

在這里插入圖片描述

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

在這里插入圖片描述

填入相關信息

在這里插入圖片描述

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

這里設置的8002端口是監聽端口,讀者也可以修改為自己想要的端口。
但是要注意,監聽端口啟動端口必須不同。
也就是服務器上項目啟動的端口,要和你現在設置的這個監聽端口不一樣。

先別急著把這個界面關掉,我們把這一段內容復制下來:

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

Second Step 服務器以遠程監聽方式啟動

打開我們的Xshell(或其他SSH工具)連接上我們的遠程服務器。
啟動時,我們將過去的java -jar xxx.jar命令給替換成:

?
1 java -jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8002 xxx.jar

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

?
1 java -jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=0.0.0.0:8002 xxx.jar

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

?
1 Listening for transport dt_socket at address: 8002

Third Step 在本地調試

點擊debug

在這里插入圖片描述

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

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

然后就可以像調試本地程序一樣打斷點調試了~

分享到:

相關信息

系統教程欄目

欄目熱門教程

人氣教程排行

站長推薦

熱門系統下載

jlzzjlzz亚洲乱熟在线播放