網(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