解決步驟以下:java
1 查看tomcat的啓動log,第一行「Listening for transport dt_socket at address: xxxxweb
檢查這裏是否是8000,若是不是,須要修改catalina.bat文件windows
2 修改tomcat的startup.bat文件,在@echo off後一行增長set jpda_address=8000瀏覽器
3 執行startup.bat文件啓動tomcattomcat
4 在eclipse中Run-Debug Configurations-Remote Java Application下找到相應工程,在connect的tag下設置port爲8000。eclipse
5 debugsocket
----------------------------------------------------------------工具
找到tomcat/bin/catalina.bat文件,編輯,在CATALINA_OPTS以前加上下行代碼spa
set CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=50001【用來調試的端口號】.net
保存,重啓Tomcat
----------------------------------------------------------------
讓java程序支持被遠程調用所須要的java參數以下
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044
若是使用weblogic、jboss和tomcat,須要配置相應的啓動文件,
以tomcat爲例,對於非windows平臺下的操做來講,須要把%TOMCAT_HOME%/bin/startup.sh中的最後一行 exec "$PRGDIR"/"$EXECUTABLE" start "$@" 中的start改爲jpda start。
若是8000端口有其餘用處的話,那麼還須要修改catalina.sh文件,添加一行 JPDA_ADDRESS=」1044」或者其餘你指定的端口。這樣就能夠經過startup.sh或者catalina.sh jpda start來其中支持遠程調試的tomcat了。
在windows平臺上是同樣的步驟,只不過.sh文件改爲了.bat文件了。而後須要注意如下這些地方,
一、 catalina.bat文件默認的JPDA_TRANSPORT是dt_shmem,可是Eclipse只支持dt_socket,因此須要在catalina.bat中添加一行set JPDA_TRANSPORT=」dt_socket」
二、 catalina.bat文件默認的端口是jdbconn,我也不知道這個端口是多少,所以添加一個set JPDA_ADDRESS="1044"
啓動tomcat,
啓動Eclipse ,選擇你想要Debug的類並設置斷點,而後選擇 Debug工具欄下的Debug子菜單(Debug concigurations),在彈出的Debug窗口中,在左邊的菜單項中選擇遠程調試(Remote Java Application),而後輸入機器名和端口,好比說localhost和1044,而後Apply而且開始Debug;
打開瀏覽器,輸入須要調試的頁面,此時會激活Eclipse 的Debug窗口,此時就能夠進行Debug了。