idea 遠程調試

idea14遠程調試tomcat項目

時間:2015-02-02 16:27來源:linux.it.net.cn 做者:ITlinux

場景以下:本地開發好代碼以後,到qa那邊提測,qa把同一份代碼部署到本身的linux測試機。tomcat

遠程調試的步驟以下:服務器

1.  首先在IDEA中打開項目代碼,並保證遠程調試機器,也是同一份代碼。socket

2.  由於咱們用的是Tomcat,因此在IDEA中點擊右上角那個「Edit Configurations」按鈕,而後在彈出的界面中點擊左上角的加號,選擇tomcat server->remote

3.  在彈出的的界面中填寫服務器的ip和工程的端口。ide

idea14遠程調試tomcat項目0

4.  而後點擊那個彈出框的Starup/Connection選項卡,點擊debug按鈕,能夠看到下面的文本框中有一段相似於下面的文字:測試

-agentlib:jdwp=transport=dt_socket,address=57716,suspend=n,server=y

這裏這段文字,即說明,啓動遠程調試方式爲socket,端口爲57716。在這一步,網上有不少說法,有的說,把這一段配置到tomcat,有的說不對,tomcat本來有這一段,應該把tomcat這一段配置到本地;並且各自都有成功調試的例子。不過到底用哪種,讓咱們看一下tomcat下的catalina.bat就知道了。idea

idea14遠程調試tomcat項目1

由上圖可知,idea中給出的spa

-agentlib:jdwp=transport=dt_socket,address=57716,suspend=n,server=y
這段配置,在tomcat中,是有的;若是,你將idea中的這段放到tomcat裏來那麼就是讓tomcat跟idea保持一致;缺點很明顯,idea的端口是本身指定的。若是調試另外的程序,下次你仍是隻能使用這個端口;假使使用tomcat的8000的這個端口,那麼優勢有2處,tomcat無需任何改動;第二移植到其餘的地方時,別的tomcat下還是這個默認值 
。 

 

 

其實二種都對,無非是保證兩者在聯調時,能正確的經過socket連接。這裏,這兩種我都分別介紹一下使用方法,我本地已經測試經過,配置無非多一點,即在第四步時,彈出框的Starup/Connection選項卡.net


5.  當你選擇用idea的配置時(命令行

-agentlib:jdwp=transport=dt_socket,address=57716,suspend=n,server=y
),點擊debug,將文本框中的這段話複製,而後登錄本身的遠程機器,修改配置,在JAVA_OPTS屬性中增長上面的那段話。並重啓tomcat。假使重啓無效,則修改startup.sh中的最後一行,idea14遠程調試tomcat項目2,將原來的exec註釋掉,使用exec jpad方式start;修改後重啓tomcat,便可。

 

 

6.       當使用tomcat的配置時,則無需修改tomcat任何配置,只須要在彈出框的Starup/Connection選項卡中,選中debug,而後將默認的

-agentlib:jdwp=transport=dt_socket,address=57716,suspend=n,server=y
改爲tomcat下默認的配置便可。

 

 

-agentlib:jdwp=transport=dt_socket,address=8000,suspend=n,server=y
而後重啓tomcat,使用idea鏈接,而後debug。若是沒法debug,則參考第5步,修改startup.sh,使用exec jpad方式start;修改後重啓tomcat,便可。  7.  而後回到本身的idea點擊debug就能夠加斷點調試了。以上2種方式測過以後,仍是以爲麻煩,由於有時仍是要改動tomcat,後來終於找到一個方法,能夠不用動全部的配置文件。即便用另外的命令行啓動tomcat,而不是./startup.sh。具體的步驟便是在第6步的時候,啓動tomcat,使用 ./catalina.sh jdpa start方式啓動便可。  (責任編輯:IT)
相關文章
相關標籤/搜索