######Linux setenv.sh export JPDA_OPTS="-agentlib:jdwp=transport=dt_socket,address=1043,server=y,suspend=n" ######Windows setenv.bat set JPDA_OPTS="-agentlib:jdwp=transport=dt_socket,address=1043,server=y,suspend=n"tomcat
remark
這些參數要作的事情就是啓用遠程調試和配置有效的選項: 指定運行的被調試應用和調試者之間的通訊協議,(ie: transport=dt_socket) 遠程被調試應用開通的端口,(ie: address=1043), 可定義其餘端口,好比9999 server=y 表示這個 JVM 即將被調試 suspend=n 用來告知 JVM 當即執行,不要等待將來將要附着上/連上(attached)的調試者。若是設成 y, 則應用將暫停不運行,直到有調試者鏈接上 suspend=y的一個比較適用的場景是,當debug一個會阻止應用成功啓動的問題時, 經過suspend=y能夠確保調試者連上來以後再啓動應用,不然應用已經啓動報錯了再調試也沒意義了。* 命令行啓動tomcat,便可完成tomcat啓用遠程調試啦。 $CATALINA_HOME/bin/catalina.sh jpda start 2 使用 JAVA_OPTS / CATALINA_OPTS 若是你是在 Windows 系統把 Tomcat 做爲系統服務來運行的,直接打開 Apache Tomcat 的屬性對話框,在Java Tab也添加啓動參數: -agentlib:jdwp=transport=dt_socket, address=1043,server=y,suspend=n 請確保每一條配置都是新的行,參數選項之間沒有空格 但若是Tomcat沒有做爲 Windows 系統服務, 啓用方法與前面相似,在 setenv.bat 文件中寫入: set CATALINA_OPTS="-agentlib:jdwp=transport=dt_socket,address=1043,server=y,suspend=n" 若是運行在Linux上, setenv.sh 中寫入: export CATALINA_OPTS="-agentlib:jdwp=transport=dt_socket,address=1043,server=y,suspend=n" 按照普通的方式啓動Tomcat便可; ./startup.sh 或者 ./catalina.sh start 3 使用JPDA啓動 最後一種啓用遠程調試的方式是用 JPDA 切換, 用以下的啓動命令將使用默認值自動啓用遠程調試, catalina jpda start 該命令默認使用的設置是 -agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n 若是你想要修改默認設置中的選項怎麼辦?能夠經過修改 Tomcat 須要的這些環境變量來實現: //JPDA_TRANSPORT: 指定 jpda 傳輸協議 //JPDA_ADDRESS: 指定遠程調試端口 //JPDA_SUSPEND: 指定 jvm 啓動暫緩 export JDPA_ADDRESS=」8080「 而後再運行 catalina jpda start , 那麼遠程調試的端口將變成8080
######idea調試 選擇「Remote",而後輸入Name, 修改Host, Port (1043) 便可, 保存後開始Debug。jvm