何為遠(yuǎn)程調(diào)試?我們一般調(diào)試一個web項目的java代碼時,需要將你的web服務(wù)器和你的開發(fā)工具(比如eclipse)集成,或需要工具的一些插件支持(比如Eclipse下的myclipse等),這些方式都是在本地進(jìn)行,即你的開發(fā)工具和web服務(wù)器運(yùn)行在同一臺服務(wù)器上,如果你的開發(fā)工具和服務(wù)器不再一臺機(jī)器上那就需要實(shí)現(xiàn)遠(yuǎn)程調(diào)試功能了。
下面說明一下在tomcat中的遠(yuǎn)程調(diào)試實(shí)現(xiàn):
在tomcat的catalina.bat文件中加入下面的設(shè)置,當(dāng)然SET CATALINA_OPTS 變量應(yīng)該在使用它之前。這是在tomcat啟動時設(shè)置一些虛擬機(jī)參數(shù),使服務(wù)器允許遠(yuǎn)程連接功能,address=5888表示遠(yuǎn)程連接的端口號,可以設(shè)置成任意其他不沖突端口。
SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5888
然后說明一下在jboss中的遠(yuǎn)程調(diào)試實(shí)現(xiàn):
在jobss中配置遠(yuǎn)程調(diào)試比較簡單,他的原理和tomcat一樣,也是修改一下他的虛擬機(jī)參數(shù),形式為:端口為8787,注意端口不要重復(fù)
JAVA_OPTS="$JAVA_OPTS -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n"
這樣就Ok了,重啟動web服務(wù)器,可以直接獨(dú)立啟動,而不用在eclipes的插件中啟動。打開eclipse中的debug設(shè)置窗口,選擇Remote Java Application ,新建一個debug項,輸入服務(wù)器IP和剛才設(shè)置端口號,點(diǎn)ok就可以進(jìn)入debug狀態(tài)了。Jbuilder中同樣可以設(shè)置Remote Java Application。