1. 程式人生 > >java 遠端除錯 Tomcat配置遠端除錯

java 遠端除錯 Tomcat配置遠端除錯

http://www.ibm.com/developerworks/cn/opensource/os-eclipse-javadebug/index.html

相 信做過Java Web專案的朋友都非常熟悉MyEclipse(汗,有不知道的?),整合Tomcat一點deploy按鈕,直接釋出成功,再一個start就可以欣賞 自己的大做了。可有些專案或者公司不允許使用MyEclipse(收費的,呵呵),所以部署打包的事完全交給了Ant或者Maven來做,但這兩兄弟都得 在命令列下來做,對於被MyEclipse慣壞的我來說,用著簡直是痛苦之極,就拿Ant來說,往往要做如下幾步:

1.進入工程目錄,執行Ant命令編譯;
2.生成Eclipse工程所需的檔案(.classpath和.project等); 3.antexpand釋出編譯生成的war包; 4.從外面啟動Tomcat(某些工程並非標準JavaEE工程,無法直接在Server檢視下整合伺服器); 5.訪問自己的成果,汗,此時如不做特殊設定,效果是看到了,可是除錯呢? 帶著問題學習了下遠端除錯總結如下: 在做遠端除錯時,在windows系統和非windows系統下的配置,Tomcat中會有所差別,具體如下:

第一步、配置tomcat
一、在windows系統中:
開啟%CATALINE_HOME%/bin下的檔案catalina.bat,加入下面這行:
set CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=
8000

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

二、在非windows系統中:
還 需要把% CATALINE_HOME %/bin/startup.sh中的最後一行exec "$PRGDIR"/"$EXECUTABLE" start "[email protected]" 中的start改成jpda start。由於預設的埠是8000,所以如果8000埠已有他用的話,還需在catalina.sh檔案中設 置:JPDA_ADDRESS=8000。
輸入命令startup.sh或者catalina.sh jpda start就可啟動tomcat。

第二步、配置eclipse
在Eclipse中選擇Run Debug,在彈出對話方塊中右擊Remote Java Application新建一個遠端除錯項,如下所示:
 遠端除錯檢視在 “Name”輸入框中輸入遠端除錯的名稱,在“Project”中選擇要除錯的專案,在“Host”中輸入需要遠端除錯專案的IP,也就是tomcat所 在的IP,在“Port”中輸入設定的埠號,比如上面設定的8000,然後鉤選“Allow termination of remote VM”,點選“Apply”即可。
設定完後就可以開始除錯了,大概分一下幾步:
1、啟動tomcat(遠端),如在控制檯輸出“Listening for transport dt_socket at address: 8000”,即說明在tomcat中設定成功;
2、在本機設定斷點;
3、進入上圖介面,選擇要除錯的項,點選“Debug”即可進行遠端除錯;
4、訪問你的測試頁面即可看到久違的除錯介面。
但每次做上述操作非常煩,不如寫個批處理,如取名為Tomcat debug.bat,在這個檔案中加入下面幾行:

cd %CATALINE_HOME%/bin
set JPDA_ADDRESS=8000
set JPDA_TRANSPORT=dt_socket
set CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8787
startup
將此指令碼儲存到tomcat/bin目錄下,然後發個快捷方式在桌面,歐啦~~~~
這樣需要遠端除錯時,執行debug.bat即可;不需要遠端除錯時,還是執行startup.bat檔案

http://blog.chinaunix.net/u/21344/showart_498246.html

 在tomcat/bin/的catalina.bat檔案中加入下面的設定,當然SET CATALINA_OPTS 變數應該在使用它之前。這是在tomcat啟動時設定一些虛擬機器引數,使伺服器允許遠端連線功能,address=5888表示遠端連線的埠號,可以設定成任意其他不衝突埠。其他的應用伺服器比如weblogic也應該可以設定這些引數,有興趣的可以測試。

    SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5888


這樣就Ok了,重啟動tomcat,可以直接獨立啟動,而不用在eclipes的外掛中啟動。開啟eclipse中的debug設定視窗,選擇Remote Java Application ,新建一個debug項,輸入伺服器IP和剛才設定埠號,點ok就可以進入debug狀態了。
不過要注意在Linux下,有一點點差異,是要編輯catalina.sh檔案。

     而且要改成這樣:

     CATALINA_OPTS="-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5888"

     也就是把SET去掉,後面加雙引號引起來,因為在Linux下,是沒有SET這個語法的。


在linux下出現錯誤時
ERROR: Cannot load this JVM TI agent twice, check your java command line for duplicate jdwp options.

將-Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n 去掉。

相關推薦

java 遠端除錯 Tomcat配置遠端除錯

http://www.ibm.com/developerworks/cn/opensource/os-eclipse-javadebug/index.html 相 信做過Java Web專案的朋友都非常熟悉MyEclipse(汗,有不知道的?),整合Tomcat一點dep

Tomcat配置遠端除錯

確認部署的環境 Linxu系統 apache-tomcat-8.0.23/bin/startup.sh開始處中增加如下內容: declare -x CATALINA_OPTS="-server

linux tomcat 配置遠端除錯

1.利用xftp工具找到/data/webapp/tomcat/bin目錄下的catalina.sh檔案(也可以使用xshell用命令編輯該檔案) 編輯該檔案,在檔案的最開始新增如下內容 CATALINA_OPTS="-server -Xdebug -Xnoagent -Djava.comp

效能監控之tomcat,jvisualvm遠端連線tomcat配置

在tomcat/bin 中編輯catalina.sh 新增入這樣一段程式碼 ,新增的位置在 cygwin=false darwin=false os400=false 上面,在 JAVA_HOME=/

Java開發】tomcat配置外部靜態資源對映路徑(windows和Linux部署)

如果你不想用ngnix配置的話,只單獨使用tomcat的話可以看看這篇文章,接下來開始 使用場景 1.單機開發有時侯如果放在war下每次clean都會清理當前專案下靜態檔案特別折騰. 2.只有啟動tomcat即可靜態檔案放在外面不會被刪,就算未來要上服務也可以選擇繼續tomcat或者

Java】使用IDEA遠端除錯Java程式碼 【Java】Maven Tomcat外掛使用

概述   服務端程式執行在一臺遠端伺服器上,我們可以在本地服務端的程式碼(前提是本地的程式碼必須和遠端伺服器執行的程式碼一致)中設定斷點,每當有請求到遠端伺服器時時能夠在本地知道遠端服務端的此時的內部狀態 測試專案   建立方式參考:【Java】Maven Tomcat外掛使用   專案中新增了一個測

IntelliJ IDEA 2018.2.2遠端除錯Tomcat配置方法

公司專案放在遠端伺服器上,之前都是將專案打包放上去執行後在log中檢視相關除錯資訊,發現問題後在本地編輯器修改後再次打包上傳除錯,但是這種方式實在是讓人抓狂,一則不斷的在大量的log中檢視有效資訊太累,而且log中的資訊也有限;再則一直重複編輯-打包-上傳-除錯很折磨人,所以才想到了遠端除錯。搜尋了網上的方法

Java效能分析神器-JProfiler 遠端除錯Tomcat

之前已經介紹過如何除錯本地的JBoss。現在額外一篇文章關於如何遠端除錯Tomcat的,其實遠端和本地的區別不大,主要區別只是,JProfiler的GUI執行在你本地,而JProfiler的Agen

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

在網上找了找關於遠端除錯的配置,記錄在這裡以備後續查詢! 平常我們都是用windows開發,但是有時候需要將tomcat部署到linux下去執行,比如執行shell指令碼。這個時候我們就需要在linux環境下進行除錯。我們可以利用myeclipse的遠端除錯功能,來進行操

idea遠端除錯tomcat,idea配置

遠端Tomcat設定 1、在tomcat/bin下的catalina.sh上邊加入下邊的一段設定 CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=192.168.42.29:30000,suspend=

IDEA 2016 配置遠端 TOMCAT 部署 除錯

之前網上找了好多方法 都太老 或者不完全.. 現在最新的 方法如下 1 修改tomcat/bin/catalina.sh 檔案 在# OS specific support. $var must be set to either true or fals

tomcat 8 遠端除錯java

tomcat遠端除錯 修改遠端 catalina.sh 檔案 在下面增加一行(在 JPDA_ADDRESS="localhost:8000" 增加一行JPDA_ADDRESS="101.200.229.38:8000"  tomcat8驗證通過  並把 JPDA_ADDRE

myeclipse遠端除錯tomcat、jboss伺服器配置

有時候程式在伺服器上,運行了,報個把錯誤,除了看那可憐的日誌來定位問題,大概就是遠端除錯的方法最能快速定位到問題所在了,常用的應用伺服器無非是tomcat和jboss吧。 tomcat的配置:開啟%CATALINE_HOME%/bin下的檔案catalina.bat,加入下

Eclipse 進行遠端除錯Windows Tomcat配置

以前看到別人使用除錯遠端程式碼感覺好牛逼的樣子,前一段時間想學來著,但是由於實際工作中暫時沒有用上最終沒學會,好悲傷!今天終於需要用了,Google+Baidu了一堆,終於將Windows Tomcat遠端除錯給學會了,不吹牛逼了,進入正題。 1. 配置windows to

Tomcat 和 IDEA 配置遠端除錯

1、開啟 Tomcat 遠端除錯 Tomcat 作為運行於 JVM 上的程式,自然也是支援開啟遠端除錯的,並且Tomcat 的啟動指令碼中對遠端除錯提供了額外支援,使得開啟遠端除錯更容易。 Tomcat 的 bin目錄下的 catalina.bat指令碼提供了 jpda

Java技術_基礎技術(0004)_eclipse遠端除錯tomcat

基礎技術: 遠端除錯tomcat步驟:  1==遠端登入至伺服器,開啟tomcat的bin/catalina檔案;  2==在JAVA_OPTS變數後增加:-Xdebug -Xrunjdwp

spark JAVA 開發環境搭建及遠端除錯

spark JAVA 開發環境搭建及遠端除錯 以後要在專案中使用Spark 使用者暱稱文字做一下聚類分析,找出一些違規的暱稱資訊。以前折騰過Hadoop,於是看了下Spark官網的文件以及 github 上 官方提供的examples,看完了之後決定動手跑一個文字聚類的demo,於是有了下文。 1. 環境

PyCharm 配置遠端伺服器執行除錯python

使用場景 先說說自己的使用場景,我是在什麼情況下,需要將IDE配置成這樣的環境來方便我的工作。 首先,我需要在本地機子上寫python程式碼,但是因為是機器學習相關的一些程式碼,有時候本機跑可能會很慢,或者根本跑不下來。而此時,我還有一臺可用的伺服器,上面配置了相應的pyt

Tomcat: 開啟遠端除錯Remote Debugging模式

2018.11.01 文章目錄 前言 方法 方法一:`JPDA_OPTS` 方法二(建議):`CATALINA_OPTS` Old-fashioned方法 前言 Tomcat的遠端除錯

IntelliJ IDEA 2016.1.1 遠端除錯tomcat

1.新建遠端tomcat 配置遠端tomat地址和遠端ip 2.選擇debug 模式     配置socket 連線 地址是8000 3.啟動遠端tomcat 使用命令 /bin/catalina.sh  jpda