Tomcat: 開啟遠端除錯Remote Debugging模式
阿新 • • 發佈:2018-11-23
2018.11.01
文章目錄
前言
Tomcat的遠端除錯模式是個常用且好用的功能,一旦專案部署到遠端伺服器上時(比如sit環境),就可以通過遠端除錯模式打斷點進行debug。本文翻譯自一技術部落格1。
方法
設定JVM啟動命令引數就可以為Tomcat開啟遠端除錯模式,可以通過JPDA_OPTS
、CATALINA_OPTS
或JAVA_OPTS
來設定。但一般不推薦設定JAVA_OPTS
CATALINA_OPTS
僅對Tomcat有效。
方法一:JPDA_OPTS
在CATALINA_HOME/bin目錄下新建一個setenv.sh(Linux)或setenv.bat(Windows),新增如下內容:
# Linux
export JPDA_OPTS="-agentlib:jdwp=transport=dt_socket, address=1043, server=y, suspend=n"
# Windows
set JPDA_OPTS="-agentlib:jdwp=transport=dt_socket, address=1043, server=y, suspend=n"
一般建議採用setenv.*檔案來設定額外的配置,而不是直接寫進catalina.*中,而setenv.*檔案會被Tomat自動讀取。啟動Tomcat:
<CATALINA_HOME>/bin/catalina.sh jpda start
方法二(建議):CATALINA_OPTS
類似地,新建setenv.*檔案:
# Linux
export CATALINA_OPTS="-agentlib:jdwp=transport=dt_socket,address=1043,server=y,suspend=n"
# Windows
set CATALINA_OPTS= "-agentlib:jdwp=transport=dt_socket,address=1043,server=y,suspend=n"
Old-fashioned方法
下面也是常見的引數配置,但它適用於Java 5.0之前的版本;上述配置則適用於Java 5.0及之後的版本。所以不推薦使用。
# 舊的配置方法
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=1043, suspend=n