時間: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
-agentlib:jdwp=transport=dt_socket,address=57716,suspend=n,server=y 這裏這段文字,即說明,啓動遠程調試方式爲socket,端口爲57716。在這一步,網上有不少說法,有的說,把這一段配置到tomcat,有的說不對,tomcat本來有這一段,應該把tomcat這一段配置到本地;並且各自都有成功調試的例子。不過到底用哪種,讓咱們看一下tomcat下的catalina.bat就知道了。idea 由上圖可知,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
-agentlib:jdwp=transport=dt_socket,address=57716,suspend=n,server=y),點擊debug,將文本框中的這段話複製,而後登錄本身的遠程機器,修改配置,在JAVA_OPTS屬性中增長上面的那段話。並重啓tomcat。假使重啓無效,則修改startup.sh中的最後一行,,將原來的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) |