-- debug.bat
set JPDA_ADDRESS=5888
set JPDA_TRANSPORT=dt_socket
catalina.bat jpda start
第一步、配置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。
輸入指令startup.sh或者catalina.sh jpda start就可啟動tomcat。
第二步、配置eclipse
在Eclipse中選擇RunDebug,在彈出的對話框中右擊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
startup
這樣需要遠端調試時,運作debug.bat即可;不需要遠端調試時,還是運作startup.bat檔案。
因為tomcat不同版本可能有不同的設定,附件為對應版本的設定。測試最新的tomcat 6.0版本與5.5.9一樣的配置。
上面主要講的是TOMCAT解壓版本的調試設定,那麼TOMCAT的安裝版本呢?
安裝版本的BIN目錄下面沒有了.bat檔案,那麼如何設定呢。
Java代碼
- 在Tomcat的JavaOpts中加入以下兩行:
- -Djava.compiler=NONE
在Tomcat的JavaOpts中加入以下兩行:-Djava.compiler=NONE-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8787這裡8787是遠端debug的端口