2016-09-26 78 views
3

我有一個Web應用程序運行在10.0.1.62:8080/xxx。我想通過IntelliJ IDEA進行遠程調試。我已經10.0.1.62機上設置JAVA_OPTS = -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000遠程調試與IntelliJ的Tomcat 7

(Tomcat7在Ubuntu),當我按下遙控器調試按鈕IDE是給一個信息消息:

連接到目標VM,地址:' 10.0.1.62:8000' ,運輸: '插座'

比我打的10.0.1.62:8080/xxx。 雖然我得到這個成功的消息,brekpoints沒有命中。我錯過了什麼?從你的問題聽起來好像你已經按照這些步驟Remote Debugging in IntelliJ Tomcat

回答

3

首先,雙通過引用該問題和答案檢查您的設置。還有一些其他的配置問題導致了我過去的遠程tomcat調試問題,我將分享它並希望它有所幫助。

  1. 確保您在IntelliJ上啓動了正確的遠程調試過程。 Remote Debug
  2. 如果主機上運行着多個Tomcat服務器,請確保連接到正確的Tomcat實例。調試端口8000可能已經在使用中。我使用的是15019的任意端口或其他尚未使用的端口號。確保Tomcat和IntelliJ之間使用的端口匹配。
  3. 根據您在Tomcat上設置遠程調試的方式,它可能無法正常關閉而使舊實例運行。在catalina.sh頂部添加調試掛鉤將導致shutdown.sh腳本失敗,因爲您的調試端口已經綁定到Tomcat服務器。相反,把它內啓動if語句:

    elif [ "$1" = "start" ] ; then JAVA_OPTS="$JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,address=15019,suspend=n,server=y"

修復此問題後,您可以關閉Tomcat的成功與./shutdown.sh,仍然啓動調試與./startup.sh

  1. 確保您有一個clean在Tomcat上部署您的應用程序。您的清理過程可能需要變化,但這裏的總體思路是:

    Shutdown Tomcat, then verify it is no longer running. Remove the deployed war file and corresponding exploded version from your tomcat webapps directory. Remove the contents of the work and temp directories. Deploy and verify your recently build war file. Start Tomcat.

創建一個腳本來執行,這將節省時間。

  1. 如果一切都失敗了,請添加一個調試日誌來首先調用帶有斷點的代碼。

我確定還有其他20件事情可能會出錯。隨意添加想法。