簡單明瞭IntelliJ IDEA 遠端除錯 Tomcat 的方法
阿新 • • 發佈:2019-01-01
首先,配置remote
:
點選Edit Configurations
,進入如下介面:
我們進入了Run/Debug Configurations
介面,然後點選左上角的+,選擇Remote
:
- 標註 3:除錯模式,預設為
Attach
; - 標註 4:伺服器 IP 地址,預設為localhost,需要修改為目標伺服器的真實 IP 地址;
- 標註 5:伺服器埠號,預設為5005,需要修改為目標伺服器的真實埠號;
- 標註 6:搜尋資源是使用的環境變數,預設為,即整個專案。
如上圖所示,其中 標註 2 和 標註 3 又分別有兩種分類,對於 標註 2,
標註 2 傳輸方式,預設為Socket
;
Socket
:macOS 及 Linux 系統使用此種傳輸方式;
Shared memory
: Windows 系統使用此種傳輸方式。
對於 標註 3,
標註 3:除錯模式,預設為Attach
;
Attach
:此種模式下,除錯服務端(被除錯遠端執行的機器)啟動一個埠等待我們(除錯客戶端)去連線;
Listen
: 此種模式下,是我們(除錯客戶端)去監聽一個埠,當除錯服務端準備好了,就會進行連線。
然後,複製 標註 1,即 IntelliJ IDEA 自動生產的命令列引數,然後匯入到 Tomcat 的配置檔案中。以 Linux 系統為例,匯入語句為:
export JAVA_OPTS='-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8001'
如果是 Windows 系統,則匯入語句為:
set JAVA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8001
注:
address
為自定義的埠號
兩者的區別在於匯入語句的關鍵字不同以及有無引號,Linux 系統的匯入關鍵字為export,Windows 為set;Linux 的匯入值需要用單引號”括起來,而 Windows 則不用。
接下來,修改 伺服器端Tomcat
的 bin 目錄下的catalina.sh檔案(如果是 Windows 系統則修改catalina.bat檔案),將上述的匯入語句新增到此檔案中即可:
然後就可以開始遠端除錯了(注:伺服器程式碼最好和本地除錯端程式碼保持一致)