idea springboot遠(yuǎn)程debug的操作方法
Remote Debug 綜述
當(dāng)我們的后臺(tái)項(xiàng)目部署到服務(wù)器上時(shí),由于環(huán)境和本地不同,有時(shí)候也會(huì)有一些奇奇怪怪的問題出現(xiàn)。只依賴服務(wù)器上的日志來診斷可能太不靈活,這時(shí)就需要我們進(jìn)行遠(yuǎn)程調(diào)試。
在開始我們的步驟前,先確認(rèn)一點(diǎn):
我們現(xiàn)在是希望能夠在本地遠(yuǎn)程調(diào)試服務(wù)器上的程序,也就是說:
- 本地 = 調(diào)試者
- 服務(wù)器 = 被調(diào)試者
而且還有一點(diǎn)我們需要注意,就是在調(diào)試遠(yuǎn)程服務(wù)器上的代碼時(shí),一定要保證 遠(yuǎn)程服務(wù)器 上的代碼和 本地 代碼一致,不然就失去debug效果了。
First Step 本地配置遠(yuǎn)程服務(wù) 在本地,打開我們的idea,在運(yùn)行窗口上點(diǎn)擊 Edit Configurations…

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

填入相關(guān)信息

這樣就算是做好了我們本地的遠(yuǎn)程debug配置。
這里補(bǔ)充一個(gè)小tip:
這里設(shè)置的8002端口是監(jiān)聽端口,讀者也可以修改為自己想要的端口。
但是要注意,監(jiān)聽端口和啟動(dòng)端口必須不同。
也就是服務(wù)器上項(xiàng)目啟動(dòng)的端口,要和你現(xiàn)在設(shè)置的這個(gè)監(jiān)聽端口不一樣。
先別急著把這個(gè)界面關(guān)掉,我們把這一段內(nèi)容復(fù)制下來:
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8002
Second Step 服務(wù)器以遠(yuǎn)程監(jiān)聽方式啟動(dòng)
打開我們的Xshell(或其他SSH工具)連接上我們的遠(yuǎn)程服務(wù)器。
啟動(dòng)時(shí),我們將過去的java -jar xxx.jar命令給替換成:
java -jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8002 xxx.jar
但如果我們的遠(yuǎn)程服務(wù)器是阿里云、騰訊云等云服務(wù)商的云服務(wù)器,我們可能需要像下面這樣改:
指定我們開放的ip,確保不會(huì)被默認(rèn)設(shè)置為127.0.0.1:8002導(dǎo)致外部無法訪問進(jìn)來。
java -jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=0.0.0.0:8002 xxx.jar
回車啟動(dòng),會(huì)看到下面的字樣,就說明成功監(jiān)聽了:
Listening for transport dt_socket at address: 8002
Third Step 在本地調(diào)試
點(diǎn)擊debug

可以看到控制臺(tái)中顯示出了以下字樣,說明連接成功。
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)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- idea遠(yuǎn)程debug調(diào)試部署在tomcat上項(xiàng)目
- springboot使用IDEA遠(yuǎn)程Debug
- Intellij IDEA遠(yuǎn)程debug教程實(shí)戰(zhàn)和要點(diǎn)總結(jié)(推薦)
- IntelliJ IDEA遠(yuǎn)程Debug Linux的Java程序,找問題不要只會(huì)看日志了(推薦)
- Tomcat使用IDEA遠(yuǎn)程Debug調(diào)試的講解
- Intellij idea遠(yuǎn)程debug連接tomcat實(shí)現(xiàn)單步調(diào)試
- idea遠(yuǎn)程Debug部署在服務(wù)器上的服務(wù)
相關(guān)文章
MyBatisPlus PaginationInterceptor分頁插件的使用詳解
這篇文章主要介紹了MyBatisPlus PaginationInterceptor分頁插件的使用詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
使用SSM+Layui+Bootstrap實(shí)現(xiàn)汽車維保系統(tǒng)的示例代碼
本文主要實(shí)現(xiàn)對(duì)汽車維修廠的信息化管理功能,。實(shí)現(xiàn)的主要功能包含用戶管理、配置管理、汽車管理、故障管理、供應(yīng)商管理、配件管理、維修訂單管理、統(tǒng)計(jì)信息、公告管理、個(gè)人信息管理,感興趣的可以了解一下2021-12-12
springboot~nexus項(xiàng)目打包要注意的地方示例代碼詳解
這篇文章主要介紹了springboot~nexus項(xiàng)目打包要注意的地方,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07
github上的java項(xiàng)目怎么運(yùn)行(面向小白)
這篇文章主要介紹了github上的java項(xiàng)目怎么運(yùn)行(面向小白),今天從github把我以前寫的一個(gè)小demo下載下來了,第一次下載項(xiàng)目,摸索了一個(gè)多小時(shí),才運(yùn)行起來,需要的朋友可以參考下2019-06-06
java開發(fā)hutool HttpUtil網(wǎng)絡(luò)請(qǐng)求工具使用demo
這篇文章主要為大家介紹了hutool之HttpUtil網(wǎng)絡(luò)請(qǐng)求工具使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07
用StopWatch優(yōu)雅替代currentTimeMillis計(jì)算程序執(zhí)行耗時(shí)
別再用System.currentTimeMillis()計(jì)算程序執(zhí)行耗時(shí)了,擁抱StopWatch優(yōu)雅來優(yōu)雅的計(jì)算,代碼更簡潔效率更高,本文帶你了解StopWatch的使用2021-09-09
SpringBoot整合Netty+Websocket實(shí)現(xiàn)消息推送的示例代碼
WebSocket使得客戶端和服務(wù)器之間的數(shù)據(jù)交換變得更加簡單,允許服務(wù)端主動(dòng)向客戶端推送數(shù)據(jù),本文主要介紹了SpringBoot整合Netty+Websocket實(shí)現(xiàn)消息推送的示例代碼,具有一定的參考價(jià)值,感興趣的可以了解一下2024-01-01

