http://avar.iteye.com/blog/163767
在做遠程調試時,在windows系統和非windows系統下的配置,Tomcat中會有所差別,具體如下:
第一步、配置tomcat
一、在windows系統中:
打開%CATALINE_HOME%/bin下的文件catalina.bat,加入下面這行:
set CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8787
其中address=8787是沒被使用的端口號。連接方式有兩種,為dt_shmem和dt_socket,分別表示本機調試和遠程調試。
二、在非windows系統中:
還需要把% CATALINE_HOME %/bin/startup.sh中的最后一行exec "$PRGDIR"/"$EXECUTABLE" start "$@" 中的start改成jpda start。由于默認的端口是8000,所以如果8000端口已有他用的話,還需在catalina.sh文件中設置:JPDA_ADDRESS=8787。
輸入命令sh catalina.sh jpda start就可啟動tomcat。
第二步、配置eclipse
在Eclipse中選擇Run?Debug,在彈出的對話框中右擊Remote Java Application新建一個遠程調試項,如下如所示:
在“Name”輸入框中輸入遠程調試的名稱,在“Project”中選擇要調試的項目,在“Host”中輸入需要遠程調試項目的IP,也就是tomcat所在的IP,在“Port”中輸入設置的端口號,比如上面設置的8787,然后鉤選“Allow termination of remote VM”,點擊“Apply”即可。
設置完后就可以開始調試了,大概分一下幾步:
1、啟動tomcat(遠程),如在控制臺輸出“Listening for transport dt_socket at address: 8787”,即說明在tomcat中設置成功;
2、在本機設置斷點,即在需要監視的代碼行前雙擊就會出現一個小圓點;
3、進入上圖界面,選擇要調試的項,點擊“Debug”即可進行遠程調試;
4、當運行到設置了斷點的代碼行處即可看到如下圖所示的淺綠條。
按鍵操作:
1、F5鍵與F6鍵均為單步調試,F5是進入本行代碼中執行,F6是執行本行代碼,跳到下一行;
2、F7是跳出函數;
3、F8是執行到最后。
當然,為了方便,可以新建一個批處理文件,假如取名為debug.bat,在這個文件中加入下面幾行:
cd %CATALINE_HOME%/bin
set JPDA_ADDRESS=8787
set JPDA_TRANSPORT=dt_socket
set CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8787
startup
這樣需要遠程調試時,運行debug.bat即可;不需要遠程調試時,還是運行startup.bat文件。