1. 程式人生 > >myeclipse 遠端除錯linux下的tomcat

myeclipse 遠端除錯linux下的tomcat

 (1).更改Linux系統上的Tomcat啟動檔案遠端除錯埠,登入伺服器,找到Tomcat安裝路徑,進入到bin目錄

(2).開啟目錄下的catalina.sh檔案,找到JPDA_ADDRESS=”8000”,8000代表遠端除錯埠,可以更改成其他沒有被佔用的埠,更改完成後儲存退出。

 (3)debug模式啟動Tomcat:進入tomcat的bin目錄,輸入./catalina.sh jpda run或者./catalina.sh jpda start命令啟動tomcat

有時候我們需要遠端除錯專案程式碼,這就需要讓Tomcat以Debug模式啟動。

環境說明

Windows 7 64位
JDK 8 64位
tomcat-8.0.21 x64.zip

配置方法

第一步:配置JPDA引數

如果Tomcat使用的是JDK 1.5以上版本,那麼JPDA可以使用JVMDI,配置方法為:
在tomcat的bin/catalina.bat檔案中一開始加入:
set JPDA_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=localhost:8000
如果是Mac OS X或是Linux,則在bin/catalina.sh檔案中一開始加入:
export JPDA_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=localhost:8000
其中address中的埠不一定非用8000哦,也可以換成其他埠。
如果使用的是JDK 1.4,那麼只能使用JVMPI了,見後面的說明。
這裡寫圖片描述

第二步:以JPDA模式啟動

在tomcat的bin/startup.bat檔案中的啟動命令中加入JPDA,如下圖:
這裡寫圖片描述
export JPDA_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=0.0.0.0:8000

說明:

1)以上方法在Windows/Mac OS X,Tomcat 5.5.25下均測試通過;Tomcat 5.0.x和6.0.x則參見4樓;
2)如果是JDK 1.4,JPDA引數需要調整為-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=localhost:8000,不過沒試過,可能個別引數還需要再調整一下;(建議用JDK 1.5,因為JVMDI比JVMPI強大很多)
3)JPDA的相關引數說明見

http://java.sun.com/j2se/1.5.0/docs/guide/jpda/conninv.html
4)debug並不是診斷和解決問題的唯一方法,很多時候分析執行日誌能更快地發現原因和解決問題.