1. 程式人生 > >myeclipse下對tomcat專案進行debug斷點除錯

myeclipse下對tomcat專案進行debug斷點除錯

轉自:http://www.cnblogs.com/keyi/p/6022436.html

對於eclipse或myeclipse除錯J2SE專案或小應用進行斷點除錯,大家都不陌生,只要設定斷點,debug執行就OK了。但是如果是web專案,而專案是在容器中執行的,比如tomcat,resin等,有些同學就不懂怎麼斷點除錯了,只能採取本辦法,就是採用System.out.println()的列印方式了,這很不好,而且浪費很多時間。下面總結了下myeclipse下斷點除錯web專案的方法。

 

準備

    環境:windXP,JDK1.6,Myeclipse10.7,tomcat6.0.37

    myeclipse下建立web專案servlettest,然後建立一個TestServelet.Java,由於用於測試,不對自動生成的程式碼做修改了。

  對TestServlet.java設定一個斷點

    看下web.xml

 

[html] view plain copy

 

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <web-app version="3.0"   
  3.     xmlns="http://java.sun.com/xml/ns/javaee"   
  4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
  5.     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   
  6.     http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">  
  7.   <display-name></display-name>  
  8.   <servlet>  
  9.     <description>This is the description of my J2EE component</description>  
  10.     <display-name>This is the display name of my J2EE component</display-name>  
  11.     <servlet-name>TestServlet</servlet-name>  
  12.     <servlet-class>com.fei.servlet.TestServlet</servlet-class>  
  13.   </servlet>  
  14.   
  15.   <servlet-mapping>  
  16.     <servlet-name>TestServlet</servlet-name>  
  17.     <url-pattern>/servlet/TestServlet</url-pattern>  
  18.   </servlet-mapping>    
  19.   <welcome-file-list>  
  20.     <welcome-file>index.jsp</welcome-file>  
  21.   </welcome-file-list>  
  22. </web-app>  


        好了準備工作完畢。

 

本地除錯

        本地除錯就是myeclipse中設定要啟動的tomcat,並已debug mode模式啟動。這很簡單,不需要做額外工作。

1.設定tomcat

    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

  可以正常斷點除錯了!!