溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

idea springboot實(shí)現(xiàn)遠(yuǎn)程debug

發(fā)布時(shí)間:2020-10-29 15:13:20 來(lái)源:億速云 閱讀:164 作者:Leah 欄目:開(kāi)發(fā)技術(shù)

這篇文章運(yùn)用簡(jiǎn)單易懂的例子給大家介紹idea springboot實(shí)現(xiàn)遠(yuǎn)程debug,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

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…

idea springboot實(shí)現(xiàn)遠(yuǎn)程debug

會(huì)看到新跳出來(lái)一個(gè)窗口,點(diǎn)擊左上角 ‘+' 號(hào),選擇 Remote

idea springboot實(shí)現(xiàn)遠(yuǎn)程debug

填入相關(guān)信息

idea springboot實(shí)現(xiàn)遠(yuǎn)程debug

這樣就算是做好了我們本地的遠(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

idea springboot實(shí)現(xiàn)遠(yuǎn)程debug

可以看到控制臺(tái)中顯示出了以下字樣,說(shuō)明連接成功。

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

關(guān)于idea springboot實(shí)現(xiàn)遠(yuǎn)程debug就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI