java測試遠程調試(轉載)

######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

相關文章
相關標籤/搜索