1. 程式人生 > >關於Eclipse遠端Debug

關於Eclipse遠端Debug

背景:

1,專案部署在Linux伺服器上,本地eclipse進行遠端除錯

2,專案是jar包執行,使用shell指令碼啟動

以下是除錯步驟:

========================================================

1,-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket, address=8787, server=y, suspend=n

啟動命令:java -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket, address=8787, server=y, suspend=n -jar  xxx.jar

連線到myhost:8787提供的除錯服務

-Xdebug是通知JVM工作在DEBUG模式下,

-Xrunjdwp是通知JVM使用(Java debug wire protocol)來執行除錯環境。該引數同時了一系列的除錯選項:

transport指定了除錯資料的傳送方式

dt_socket            是指用SOCKET模式

server=y/n            VM 是否需要作為除錯伺服器執行。

suspend=y/n           是否在除錯客戶端建立連線之後啟動 VM 。

啟動伺服器上的jar包

========================================================

2,開啟eclipse

 

 

 

===========================================注意:聯通之後這個地方會出現此類按鈕如上圖

 

 ============================================

需要注意的地方:

1,必須保持伺服器上執行的程式碼和本地的程式碼保持一致

2,一般我們debug是除錯介面的,當一臺電腦開啟一個eclipse聯通伺服器上執行的程式碼以後,這臺電腦上再開啟任何的eclipse傳送請求去請求伺服器上程式碼的介面,都不能進入debug模式

(本人實驗如此,運行了2個版本的eclipse也不行)

3,本人的實踐的結果是:

a,一臺電腦聯通伺服器開啟debug模式,另一臺電腦傳送請求,可以進入debug模式

b,部署一個前置專案在伺服器上,提供頁面請求介面,本地eclipse聯通伺服器,可以進入debug模式

c,此類未經實踐,百度另一種方法是用介面測試工具傳送請求,本地eclispe聯通伺服器

最後,debug模式下,本地的eclipse程式碼記得打斷點。