什么是遠程調試,就是在A機器上利用Eclipse單步跟蹤調試B機器上的Web應用,當然調試A機器上Web應用也是沒有問題的,90%我都是調試本機的Web應用,遠程調試的意義我想我不用說了,大家都會想到它的好處,你可以在本地調試非本地測試環境上的應用,這是件多么美妙的事,所以我就不說它的好處了,那么本地調試呢,我喜歡本地調試也采用下面要介紹的方法,為什么不用eclipse,WTP,TomcatPlugin等。
環境:tomcat,Eclipse,做遠程調試不需要任何插件。當然可以使用Eclipse把Web應用部署到tomcat上面,注意只是部署,一般來講使用遠程調試就不需要配置Eclipse的Web Server了,Eclipse在這里只起到一個copy文件的作用,好在現在eclipse可以隨意指定目錄copy了。即 Deployment 對話框中的Custom Location,在這里推薦大家一個copy文件的小插件,有了這個插件就不需要eclipse部署了。
下面按步驟進行講解
1. 將web應用部署到Tomcat的webapp目錄下
2. 修改Tomcat/bin/startup.bat文件,在最前面加上如下代碼
SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000
注意上面命令必須寫成一行中間不能有換行,-前是空格-后是非空格,由於顯示器分辨率不同,該文章在顯示的時候可能會有換行的情況。
更多Web服務器遠程調試參數可參見
3.必須先啟動Tomcat啟動tomcat/bin/startup.bat參下圖
4.在相應的類方法中設置斷點
5.在eclipse中配置debug,配置完成后點擊debug按鈕。如圖:
6.打開瀏覽器訪問在第1步部署的web應用,訪問index.jsp,使得程序進入相應的斷點就可以了。
7.不需要調試的時候點擊斷開,需要調試的時候再點擊debug,非常方便,當調試過程中出現引用非本project的源碼時(例如跟蹤到tomcat里面或spring,hibernate里面),會提示找不到源碼,點擊相應提示的按鈕(到時候editor區只有一個按鈕,所以大家就不要問哪個按鈕了)可以添加源碼繼續調試,或在配置debug前就把需要的源碼都添加上,在source選項卡里面,因為具體的基本調試這方面知識不屬於本話題討論范圍內,就不過多介紹了。
參考:
