1. 程式人生 > >Eclipse進行遠端除錯linux 環境的tomcat配置 更新maven web專案

Eclipse進行遠端除錯linux 環境的tomcat配置 更新maven web專案

在網上找了找關於遠端除錯的配置,記錄在這裡以備後續查詢!

平常我們都是用windows開發,但是有時候需要將tomcat部署到linux下去執行,比如執行shell指令碼。這個時候我們就需要在linux環境下進行除錯。我們可以利用myeclipse的遠端除錯功能,來進行操作。-- 遠端除錯tomcat的配置,也可以是其他的web應用伺服器,但是配置是不一樣的。

情況分類:

1、tomcat在window下。

開啟%CATALINE_HOME%/bin下的檔案catalina.bat,加入下面這行: 
set CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9999


其中address=8787是沒被使用的埠號。連線方式有兩種,為dt_shmem和dt_socket,分別表示本機除錯和遠端除錯。

2、tomcat在linxu下。

      在tomcat的catalina.sh檔案的正文的第一行新增: 

declare -x CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9999" 

配置完成tomcat之後,啟動tomcat(正常啟動方式),可以檢視監聽埠是否已經監聽。

[[email protected] ~]# netstat -antp | grep 9999
tcp        0      0 0.0.0.0:9999               0.0.0.0:*                   LISTEN      24178/./jdk1.6.0_31 
[

[email protected] 

然後在eclipse中的debug的引數配置中,新增要除錯的專案名稱, 
新增要tomcat所在的主機的IP 地址和tomcat 除錯的埠號address=9999。 
然後點選debug 按鈕,如下圖


 

 通過正常的訪問方式(http://遠端IP:8080/index.jsp),進行程式碼的除錯工作.

按鍵操作: 
1、F5鍵與F6鍵均為單步除錯,F5是進入本行程式碼中執行,F6是執行本行程式碼,跳到下一行; 
2、F7是跳出函式; 
3、F8是執行到最後。

現在就可以在除錯的地方打斷點進行除錯了。(進入debug模式,然後發現一個刪掉的標誌,停止按鈕的右邊,表示已經和遠端的Linux下的tomcat連結上了,然後就可以本地除錯了),如下圖:

以下是本文用到的引數:

-Xdebug啟用除錯特性。 -Xrunjdwp:<sub-options>在目標 VM 中載入 JDWP 實現。它通過傳輸和 JDWP 協議與獨立的偵錯程式應用程式通訊。下面介紹一些特定的子選項。

從 Java V5 開始,您可以使用 -agentlib:jdwp 選項,而不是 -Xdebug 和 -Xrunjdwp。但如果連線到 V5 以前的 VM,只能選擇 -Xdebug 和 -Xrunjdwp。下面簡單描述 -Xrunjdwp 子選項。

transport這裡通常使用套接字傳輸。但是在 Windows 平臺上也可以使用共享記憶體傳輸。 server如果值為 y,目標應用程式監聽將要連線的偵錯程式應用程式。否則,它將連線到特定地址上的偵錯程式應用程式。 address這是連線的傳輸地址。如果伺服器為 n,將嘗試連線到該地址上的偵錯程式應用程式。否則,將在這個埠監聽連線。 suspend如果值為 y,目標 VM 將暫停,直到偵錯程式應用程式進行連線。

還有一種方法(同第一種只是啟動方式不一樣):

用Java的JPDA遠端除錯程式 

在catalina.sh的配置檔案中,修改JPDA_ADDRESS 對於的埠(要進行遠端除錯的埠), 
使用命令./catalina.sh jpda start 
啟動tomcat服務 

4. 在eclipse中的debug的引數配置中,新增要除錯的專案名稱, 
新增要tomcat所在的主機的IP 地址和tomcat 除錯的埠號address=9999。 
然後點選debug 按鈕。 

通過正常的訪問方式(http://遠端IP:8080/index.jsp),進行程式碼的除錯工作(有的人在地址處說要給localhost,但是經過本人的嘗試,是不可以的,必須和正常訪問的相同)。

解決:Eclipse除錯tomcat時報45秒超時 2011-12-21 14:07:16標籤:tomcat 職場 休閒 45秒 
修改 workspace\.metadata\.plugins\org.eclipse.wst.server.core\servers.xml檔案。 

在eclipse下雙機tomcat就可以看到Tomcat的servers.xml配置檔案,修改其中timeout的引數值,我一般都是修改為4500.

2014年12月31日更新maven專案的遠端除錯

上面的配置還是需要的,並且一樣,只是需要在工程的pom.xml中增加一個外掛即可:

程式碼如下:

<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>tomcat-maven-plugin</artifactId>
			</plugin>

增加到plugins節點中間即可!!

然後操作任然和上面的一樣。。。。