以下談論的是Applet的遠端調試技術,實際上對于其他java程式一樣适用,隻需要使用文中參數啟動java程式即可
Java遠端調試方式,兩種方式進行遠端調試
下圖上面的表示是Eclipse配置為Socket Listen方式,表示主動連結調試器
下面的是Socket Attach方式,表示遠端程式正常運作允許調試器連接配接jvm
1 打開調試配置面闆: 菜單(Eclipse):Run-->DebugConfigurations,如圖配置![]()
Applet的遠端調試 ![]()
Applet的遠端調試 2 建立一個遠端調試并配置參數
左側建立一個遠端調試
左側Project:源代碼工程
左側ConnectionType:調試方式
左 側Connection Properties:配置與Connection Type相關的調試連接配接屬性
Connection Type的選擇不同,對應applet端(用戶端)的配置參數不同和整個調試過程的啟動順序的不同。![]()
Applet的遠端調試
1) SocketListen方式1.1 Eclipse:RemoteJava Application
Connection Type: standard (Socket Listen)
Port: 8002
1.2 Java Control Panel:
![]()
Applet的遠端調試 Runtime Parameters:
-agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:8002 //Eclipse程式所在的主機的IP和調試端口
1.3 Run order:
Run Eclipse remotedebug
Run Tomcat server
Access Applet (have some breakout points)![]()
Applet的遠端調試 ![]()
Applet的遠端調試 1.4 這種方式遠端調試java或applet,可以從applet一開始運作就進入debug狀态。因為eclipse首先啟動remotedebug并等待遠端的java vm 去連接配接。一旦applet啟動運作遇到斷點就會進入debug等待中。
2) Socket Attach 方式
2.1 Eclipse:RemoteJava Application
Connection Type: standard(Socketattach)
Host: localhost (remote client ip)
Port: 8000 (remote client port)
2.2 Java Control Panel:
Runtime Parameters:
-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n
2.3 Run order:
Run Tomcat server
Access applet
Run Eclipse remotedebug
![]()
Applet的遠端調試 Access Applet (have some breakout points)![]()
Applet的遠端調試 1.4 這種方式遠端調試java或applet,需要等applet運作起來後,才能建立debug連接配接。然後在設定breakpoint進行調試
Notes: 如果出現無法連接配接到JVM或debug沒有工作,建議重新開機IE或eclipse。
分析原因可能是因為前一次所用端口已被占用,需要重新開機以解除端口綁定。
MyBox:
-Djava.compiler=NONE
-Xms800M-Xmx1300M -Xdebug -Xnoagent-Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n