天天看點

【原】用IDEA遠端Debug Tomcat服務

【環境參數】

Web容器:Tomcat 8.0

IDE:IDEA 2018.1.5

【具體步驟】

1、配置Tomcat容器參數

編輯$CATALINA_HOME/bin/catalina.sh腳本,加入如下參數: -agentlib:jdwp=transport=dt_socket,address=8000,suspend=n,server=y 如下圖所示。

【原】用IDEA遠端Debug Tomcat服務

注意:監聽的端口可以為任意沒有被占用的端口号,在此為8000。 可以通過linux指令“# netstat –anp | grep 8000”,來檢視Linux伺服器上,8000端口是否被占用。

2、配置IDEA的Remote Debug相關參數 點選Run -> Edit Configuration,按照下圖輸入參數

【原】用IDEA遠端Debug Tomcat服務

3、啟動Web應用

    啟動Tomcat容器,使得目标Web應用被加載,具體略。

4、啟動IDEA端的Debug連接配接

    在IDEA中,選擇自己剛才配置的Remote的Name,之後點選Debug,如果控制台輸出“Connected to the target VM, address: \'10.10.244.36:8000\', transport: \'socket\'”,

則說明IDEA和遠端Web應用連接配接成功,如下圖所示。

【原】用IDEA遠端Debug Tomcat服務

5、在IDEA中打斷點,開始Debug。

6、注意點

(1)Remote Debug導緻會整個Web應用挂起

    當遠端Debug目标Web應用,會導緻伺服器上整個Web應用挂起,如果此時他人通路該應用,即使通路的頁面資源目标并沒有在自己設的端點上,也則會導緻他人等待,直到自己Debug的端點放開,他人才能繼續正常通路Web應用。

(2)兩端的端口号不能被其他應用占用

    可以通過linux指令“# netstat –anp | grep 8000”,來檢視Linux伺服器上,8000端口是否被占用。

(3)兩端的Debug端口号要一緻

    IDEA端和Tomcat端監聽的Debug端口一定要一緻,并且沒有被其他應用所占用。 可以通過linux指令“# netstat –anp | grep 8000”,來檢視Linux伺服器上,8000端口是否被占用。