對於eclipse或myeclipse調試J2SE項目或小應用進行斷點調試,你們都不陌生,只要設置斷點,debug運行就OK了。可是若是是web項目,而項目是在容器中運行的,好比tomcat,resin等,有些同窗就不懂怎麼斷點調試了,只能採起本辦法,就是採用System.out.println()的打印方式了,這很很差,並且浪費不少時間。下面總結了下myeclipse下斷點調試web項目的方法。html
準備java
環境:windXP,JDK1.6,Myeclipse10.7,tomcat6.0.37web
myeclipse下創建web項目servlettest,而後建立一個TestServelet.Java,因爲用於測試,不對自動生成的代碼作修改了。瀏覽器
對TestServlet.java設置一個斷點tomcat
看下web.xml服務器
好了準備工做完畢。app
本地調試eclipse
本地調試就是myeclipse中設置要啓動的tomcat,並已debug mode模式啓動。這很簡單,不須要作額外工做。socket
1.設置tomcatjsp
window->preferences->Myeclipse->servers->tomcat
設置啓動模式
部署項目
啓動服務
瀏覽器輸入地址:http://localhost:8080/servlettest/servlet/TestServlet
myeclipse切換到調試視圖,這裏你們都不陌生了。
遠程調試
遠程調試,是相對於myeclipse來講的,就是tomcat不是myeclipse中啓動的,而是再外部本身啓動,或者tomcat在另外一臺服務器上運行,不和myeclipse同一臺電腦。在上面的本地調試中,其實最重要的是tomcat的啓動模式設置爲debug mode,因此對於遠程調試來講也是,tomcat必須是以debug mode的模式來啓動,而後myeclipse和tomcat設置鏈接。
打開tomcat的bin目錄,找到catalina.bat及startup.bat複製一份,命名爲catalina_debug.bat,startup_debug.bat。
打開startup_debug.bat,在set "CURRENT_DIR=%cd%"這句話前面加上:
set JPDA_ADDRESS=8000
set JPDA_TRANSPORT=dt_socket
set CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000
上面的調試監聽端口8000能夠更換成未被使用的端口
如圖所示:
同時將文中的catalina.bat替換成catalina_debug.bat。
打開catalina_debug.bat,在set "CURRENT_DIR=%cd%"前加上
SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1861
雙擊startup_debug.bat啓動tomcat。
myeclipse的配置。
右鍵點擊項目,按下圖所示操做
檢查是否在監聽,打開debug視圖
瀏覽器輸入地址:http://localhost:8080/servlettest/servlet/TestServlet
能夠正常斷點調試了!!!