IntelliJ IDEA與Tomcat整合的除錯設定

我們公司使用的Java AP Server主要都是使用Resin Server,最近因為一些因素開始試用Apache Tomcat,因此特別研究了IntelliJ IDEA與Tomcat整合時的除錯操作,以下是設定的心得。

Tomcat本地端除錯設定 (Local Debug)

  1. 啟動IDEA,確認有安裝了Tomcat Integration plugin。
  2. 由功能表做 Run/Debug 設定
    1. 【Run】→【Edit Configurations...】
      IDEA-Tomcat run edit
    2. 按左上角的+號並新增Tomcat Server的Local設定
      IDEA-Tomcat add Tomcat
    3. 按【Application server】最右方的〔Configure...〕,並於彈出視窗中指定Tomcat的系統目錄。如果專案使用的HTTP Port不是8080,記得同步修改設定裡的欄位。
      〔Configure...〕畫面裡的Libraries裡再加入c:\apache-tomcat-7.0.32\common\classes資料夾
      IDEA-Tomcat configure server
    4. 切換到「Startup/Connection」分頁,按加號增加環境變數CATALINA_BASE,並設定其值為Tomcat的系統目錄。Run和Debug都分別新增後按〔OK〕儲存。執行DEBUG時要注意Tomcat系統目錄/bin裡是否有setenv.bat並設定了remote debug的5005 port,若有則會造成IDEA Debug報錯,執行Debug前先將setenv.bat 改名就能避免此錯誤。如果專案使用的JDK不是1.6版,則必須再增加環境變數 JRE_HOME (或JAVA_HOME)並設定其值為為1.6版的JDK系統目錄(例如:JRE_HOME=C:\JDK1.6-64),因為Tomcat 7.0使用JDK 1.6,若沒有指定JRE_HOME則預設會使用專案的JDK,後果是導致Tomcat啟動失敗。
      IDEA-Tomcat add env variables
  3. 用【Run】→【Debug 'Tomcat'】開始除錯。螢幕下方會出現運行時的訊息
    IDEA-Tomcat debug
  4. 開啟一個系統裡的.jsp檔,在Java程式某行左側加上中斷點
    IDEA-Tomcat debug JSP
  5. 到IDEA自動開啟的瀏覽器裡瀏覽專案網頁,當執行到有設定中斷點的JSP時,IDEA會進入除錯誤模式,此時就能用Run選單裡的Step Over (F8鍵)、Step In(F7鍵)、Resume program(F9鍵)等功能鍵來除錯了。
    IDEA-Tomcat debug operations

Tomcat遠端除錯設定 (Remote Debug)

當要除錯的Tomcat不是在本地端,或不是由IDEA啟動而是獨立執行的Tomcat,此時就必須使用遠端除錯。

  1. 由【Run】→【Edit Configuration...】新增Tomcat Server→Remote
    IDEA-Tomcat remote debug config
  2. 變更組態名稱為Tomcat-Remote後切換到Startup/Connection分頁,點擊Debug並複製「-Xdebug -Xrunjdwp:transport=dt_socket,address=31284,suspend=n,server=y」。為了與慣用的Resin remote debug相容,可以將Port 31284修改為5005。
    IDEA-Tomcat port
  3. 在c:\apache-tomcat-7.0.32\bin新增setenv.bat,加入以下內容:
SET CATALINA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=5005,suspend=n,server=y
  

4. 執行c:\apache-tomcat-7.0.32\bin\startup.bat以啟動Tomcat
5. 點擊IDEA的【Run】→【Debug 'Tomcat-Remote'】,當網頁執行到中斷點時IDEA會進入除錯狀態。

##

您可能也會有興趣的類似文章

簡睿

服務於軟體業的資訊老兵。興趣廣泛,學習力佳,樂於分享所知所學。

您可能也會喜歡…

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *