idea java 远程调试_如何使用 Idea 远程调试 Java 代码
起因
這幾天,我做的項(xiàng)目中需要使用第三方的 API,在第三方的 API 回調(diào)時(shí),出現(xiàn)各種錯(cuò)誤,需要遠(yuǎn)程調(diào)試。之前做遠(yuǎn)程調(diào)試的時(shí)候,我只會(huì)在代碼中輸出日志,記錄下來(lái)做分析處理,但這樣做既麻煩又費(fèi)時(shí),往往還不能準(zhǔn)確定位問(wèn)題,惡心至極。之前做 .NET?開(kāi)發(fā)時(shí)用過(guò) Remote Debug 這個(gè)功能,想想 Idea 這么牛逼,是不是也有這個(gè)功能,上網(wǎng)一查,還真有,共享出來(lái),與諸君共勉。
服務(wù)端配置
首先,我們要讓要讓遠(yuǎn)程服務(wù)器支持遠(yuǎn)程調(diào)試功能,在項(xiàng)目啟動(dòng)項(xiàng)上追加特定的 JVM 參數(shù)即可,參數(shù)如下:
晚于 JDK 1.4.X 版本
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=4001
JDK 1.4.X 版本
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=4001
JDK 1.3.X 或早起版本
-Xnoagent -Djava.compiler=NONE -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=4001
大家根據(jù)不同的 JDK 版本使用不同的啟動(dòng)參數(shù)即可。本人使用的是 Tomcat 7 + Java 7 ,在 catalina.bat(linux 環(huán)境設(shè)置?catalina.sh)中設(shè)置?JAVA_OPTS 節(jié)點(diǎn)即可,“address=4001” 中的 “4001”為調(diào)試端口,大家可以根據(jù)需求自行設(shè)置(友情提示:不要占用網(wǎng)站的端口,有可能會(huì)導(dǎo)致項(xiàng)目啟動(dòng)報(bào)錯(cuò))。
IDE 配置
然后,配置一下客戶端就可以啦,Idea 的客戶端配置非常簡(jiǎn)單在如下圖所示的位置:
點(diǎn)擊 Edit Configurations,即可進(jìn)入 Run/Debug Configurations 界面:
點(diǎn)擊左上角的“+”標(biāo)識(shí),可以在下拉框中發(fā)現(xiàn)“Remote”選項(xiàng),選擇確定后,出現(xiàn)右側(cè)區(qū)域,首先在HOST(標(biāo)注2)框中配置需要調(diào)試的遠(yuǎn)程服務(wù)器地址,然后在調(diào)試端口狂(標(biāo)注3)中調(diào)試端口號(hào)(這里的端口號(hào)和服務(wù)器端的端口號(hào)保持一致,本示例中是“4001”),點(diǎn)擊 OK 即可。
調(diào)試步驟
最后,進(jìn)入調(diào)試流程,整個(gè)項(xiàng)目的調(diào)試也非常簡(jiǎn)單,點(diǎn)擊下圖中的 debug 按鈕,當(dāng) console 窗口中打印出 “Connected to the target VM, address: 127.0.0.1:4001', transport: 'socket'”即表示鏈接成功:
當(dāng)然啦,也會(huì)有不順利的情況出現(xiàn),如:
服務(wù)器端口限制,比如服務(wù)器屏蔽了“4001”端口,會(huì)導(dǎo)致遠(yuǎn)程調(diào)試失敗;
本地代碼和遠(yuǎn)程代碼不一致,也會(huì)導(dǎo)致遠(yuǎn)程代碼調(diào)試失敗;
啟動(dòng)成功后,你就可以像調(diào)試本地代碼一樣 Happy 的調(diào)試遠(yuǎn)程代碼了。
總結(jié)
以上是生活随笔為你收集整理的idea java 远程调试_如何使用 Idea 远程调试 Java 代码的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 机械工程师设计手册电子版
- 下一篇: 影视后期PR效果窗口