Eclipse 遠(yuǎn)程調(diào)試 jetty9

網(wǎng)上找了很多,發(fā)現(xiàn)有的人寫幾句就完事了。自己操作的時(shí)候一直不通。今天花了大半天,從無到有確認(rèn)通了,決定把他記下來。

我用的是 eclipse luna + jetty 9.

遠(yuǎn)程調(diào)試主要是解決本體DEBUG正確,遠(yuǎn)程缺出BUG的情況。還有一種情況是作為接收端,因?yàn)樵趦?nèi)網(wǎng),無法調(diào)試接口而需要將接收端部署到外網(wǎng)服務(wù)器上這種情況。

首先是在jetty下加入啟動(dòng)遠(yuǎn)程調(diào)試的參數(shù) -Xdebug -Xrunjdwp:transport=dt_socket,address=10000,server=y,suspend=n。這句很多帖子都寫了。

問題是加在哪。用 ${jettyhome}bin/jetty.sh start來啟動(dòng)服務(wù)的,需要加在jetty.sh中。

找到同樣寫 JAVA_OPTIONS的地方的下一行 加入:

JAVA_OPTIONS+=("-Xdebug -Xrunjdwp:transport=dt_socket,address=10000,server=y,suspend=n")。 注意address是端口,可以自己修改。

作者不是用這種方式啟動(dòng)的,是用 java -jar start.jar 啟動(dòng)的。所以在修改該命令 nohup java -Xdebug -Xrunjdwp:transport=dt_socket,address=10000,server=y,suspend=n -jar start.jar。

啟動(dòng)后,本地eclipse --- > Debug as --- > debug configurations -- > Remote java application --> 右鍵 new --->

project 選擇本地工程,這里需要保證本地工程代碼和服務(wù)器上是相同的。否則會(huì)調(diào)試行數(shù)對不上。

host 輸入服務(wù)器的ip地址

port 填寫JDPW的端口,如上配置是10000

然后點(diǎn)DEBUG。會(huì)出現(xiàn)運(yùn)行。如果發(fā)現(xiàn)Failed to connect to remote VM. Connection refused. 需要重啟一下jetty,作者不知道原因,想來應(yīng)該是連接上后沒有正確釋放連接,所以每次調(diào)試都需要重啟服務(wù)。這點(diǎn)有點(diǎn)麻煩。但畢竟遠(yuǎn)程調(diào)試不是長期的方式,所以忍忍。

如果出現(xiàn) time out.需要修改 eclipse debug的time out 時(shí)間。作者因?yàn)楣揪W(wǎng)絡(luò)不好,和服務(wù)器連接不穩(wěn),所以遇到過幾次。

我改成了20000。

如果順利,出現(xiàn)進(jìn)度條,然后進(jìn)度條消失。此時(shí)是進(jìn)入了遠(yuǎn)程debug模式,可以開始出發(fā)設(shè)置了斷點(diǎn)的代碼開始進(jìn)行了。

筆者寫的還算仔細(xì),如有轉(zhuǎn)載請明確轉(zhuǎn)載地址。網(wǎng)上找了很多,發(fā)現(xiàn)有的人寫幾句就完事了。自己操作的時(shí)候一直不通。今天花了大半天,從無到有確認(rèn)通了,決定把他記下來。

我用的是 eclipse luna + jetty 9.

遠(yuǎn)程調(diào)試主要是解決本體DEBUG正確,遠(yuǎn)程缺出BUG的情況。還有一種情況是作為接收端,因?yàn)樵趦?nèi)網(wǎng),無法調(diào)試接口而需要將接收端部署到外網(wǎng)服務(wù)器上這種情況。

首先是在jetty下加入啟動(dòng)遠(yuǎn)程調(diào)試的參數(shù) -Xdebug -Xrunjdwp:transport=dt_socket,address=10000,server=y,suspend=n。這句很多帖子都寫了。

問題是加在哪。用 ${jettyhome}bin/jetty.sh start來啟動(dòng)服務(wù)的,需要加在jetty.sh中。

找到同樣寫 JAVA_OPTIONS的地方的下一行 加入:

JAVA_OPTIONS+=("-Xdebug -Xrunjdwp:transport=dt_socket,address=10000,server=y,suspend=n")。 注意address是端口,可以自己修改。

作者不是用這種方式啟動(dòng)的,是用 java -jar start.jar 啟動(dòng)的。所以在修改該命令 nohup java -Xdebug -Xrunjdwp:transport=dt_socket,address=10000,server=y,suspend=n -jar start.jar。

啟動(dòng)后,本地eclipse --- > Debug as --- > debug configurations -- > Remote java application --> 右鍵 new --->

[圖片上傳失敗...(image-dc647d-1512717583276)]

[圖片上傳失敗...(image-e06a9e-1512717583276)]

project 選擇本地工程,這里需要保證本地工程代碼和服務(wù)器上是相同的。否則會(huì)調(diào)試行數(shù)對不上。

host 輸入服務(wù)器的ip地址

port 填寫JDPW的端口,如上配置是10000

然后點(diǎn)DEBUG。會(huì)出現(xiàn)運(yùn)行。如果發(fā)現(xiàn)Failed to connect to remote VM. Connection refused. 需要重啟一下jetty,作者不知道原因,想來應(yīng)該是連接上后沒有正確釋放連接,所以每次調(diào)試都需要重啟服務(wù)。這點(diǎn)有點(diǎn)麻煩。但畢竟遠(yuǎn)程調(diào)試不是長期的方式,所以忍忍。

如果出現(xiàn) time out.需要修改 eclipse debug的time out 時(shí)間。作者因?yàn)楣揪W(wǎng)絡(luò)不好,和服務(wù)器連接不穩(wěn),所以遇到過幾次。[圖片上傳失敗...(image-889083-1512717583275)]

我改成了20000。

如果順利,出現(xiàn)進(jìn)度條,然后進(jìn)度條消失。此時(shí)是進(jìn)入了遠(yuǎn)程debug模式,可以開始出發(fā)設(shè)置了斷點(diǎn)的代碼開始進(jìn)行了。

轉(zhuǎn)載地址:http://m.blog.csdn.net/arsenal04/article/details/40867327

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容