Eclipse中執行遠端debug
阿新 • • 發佈:2019-02-10
遠端debug,即debug遠端機器上的Java程式,前提是本地需要有同步的程式碼。遠端debug的步驟如下:
1.遠端機器上啟動java程序的時候,需加入debug引數
-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=$DEBUG_PORT,server=y,suspend=n
引數含義
-XDebug 設定jvm執行在debug模式下
-Xrunjdwp 載入JDWP(java debug wire protocol))的JPDA參考執行例項
transport 用於在除錯程式和VM使用的程序之間通訊
dt_socket 套接字傳輸
address=$DEBUG_PORT 設定除錯伺服器監聽的埠號,以接收debug客戶端發起的連線
server=y/n 表示在遠端Debug會話中作為服務端
suspend=y/n =y表示它會阻塞程式執行,直到在客戶端建立連線前,服務端被掛起;=n 則不會被掛起
ps:除錯JAR包時-jar引數不能寫到-Xdebug引數前
2.在本地Eclipse中設定Remote Java Application
1)選擇Project,右擊Debug As-->Debug Configurations
2)在Debug Configurations檢視中,右擊Remote Java Application, 選擇New
3)輸入IP地址和埠號,埠號與第1步中設定的$DEBUG_PORT相同, 點選Apply
1.遠端機器上啟動java程序的時候,需加入debug引數
-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=$DEBUG_PORT,server=y,suspend=n
引數含義
-XDebug 設定jvm執行在debug模式下
-Xrunjdwp 載入JDWP(java debug wire protocol))的JPDA參考執行例項
transport 用於在除錯程式和VM使用的程序之間通訊
dt_socket 套接字傳輸
address=$DEBUG_PORT 設定除錯伺服器監聽的埠號,以接收debug客戶端發起的連線
server=y/n 表示在遠端Debug會話中作為服務端
suspend=y/n =y表示它會阻塞程式執行,直到在客戶端建立連線前,服務端被掛起;=n 則不會被掛起
ps:除錯JAR包時-jar引數不能寫到-Xdebug引數前
2.在本地Eclipse中設定Remote Java Application
1)選擇Project,右擊Debug As-->Debug Configurations
2)在Debug Configurations檢視中,右擊Remote Java Application, 選擇New
3)輸入IP地址和埠號,埠號與第1步中設定的$DEBUG_PORT相同, 點選Apply