何為遠程調試?我們一般調試一個web項目的java代碼時,需要將你的web服務器和你的開發工具(比如eclipse)集成,或需要工具的一些插件支持(比如Eclipse下的myclipse等),這些方式都是在本地進行,即你的開發工具和web服務器運行在同一臺服務器上,如果你的開發工具和服務器不再一臺機器上那就需要實現遠程調試功能了。

下面說明一下在tomcat中的遠程調試實現:

在tomcat的catalina.bat文件中加入下面的設置,當然SET CATALINA_OPTS 變量應該在使用它之前。這是在tomcat啟動時設置一些虛擬機參數,使服務器允許遠程連接功能,address=5888表示遠程連接的端口號,可以設置成任意其他不沖突端口。
SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5888

然后說明一下在jboss中的遠程調試實現:

在jobss中配置遠程調試比較簡單,他的原理和tomcat一樣,也是修改一下他的虛擬機參數,形式為:端口為8787,注意端口不要重復
JAVA_OPTS="$JAVA_OPTS -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n"

這樣就Ok了,重啟動web服務器,可以直接獨立啟動,而不用在eclipes的插件中啟動。打開eclipse中的debug設置窗口,選擇Remote Java Application ,新建一個debug項,輸入服務器IP和剛才設置端口號,點ok就可以進入debug狀態了。Jbuilder中同樣可以設置Remote Java Application。