Vincent.Chan‘s Blog

          常用鏈接

          統計

          積分與排名

          網站

          最新評論

          也談Eclipse中的遠程調試


          問題的由來:平時的開發,我們基本都是在 Debug 模 式下做的,這樣便于發現問題給于修正。一旦項目到了實施測階段,程序被部署到服務器上,現場調試就會成為一個問題。因為被部署的服務器上的日志往往不能提 供足夠的信息;或是有了足夠的信息,可即時想得到一個狀態點的信息又不是太容易(比如說幾個關鍵變量的即時值)。于是想到,如果可以象本機調試程序一樣就 好了。

          于是(呵呵,又是于是), google 了一下,真得還是找到了一篇文章(先謝謝了),做法是

          只要在 TOMCAT 的啟動文件中加入一些參數就可以在 ECLIPSE 中啟動 REMOTE_DEBUG 了,具體方法如下:
          %TOMCAT_HOME%\bin\catalina.bat 文件中加入 SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9046
          打開 ECLIPSE ,在 ECLIPSE RUN 菜單中選擇 DEBUG... 項,然后在左邊的樹形菜單中新增一個 REMOTE_DEBUG( 遠程調試 ) ,填 寫最基本的幾項信息就行了,這幾項信息是:調試名稱,工程名稱,調試主機的 URL 以及 PORT ,在 allow terminate of remote VM 前打上勾 . 最主要的就是端口信息,這個端口信息來自于上面那一串參數中的 address 項,可以將 address 設置為任何未被占用的端口。
          以控制臺方式啟動 TOMCAT ,可以在控制臺看到 "Listening for transport dt_socket at address: 5888" 這樣的信息,說明調試端口已經被監聽。然后打開之前設置的調試并在 IE 或者 ECLIPSE 內置的瀏覽器中輸入 URL 運行 WEB 程序,記得在運行 WEB 程序之前要設置斷點。
          現在就可以在 ECLIPSE 中進行 WEB 調試了 ...

          要說明的是:

          我并沒按上文那樣設置變量。我看了 catalina.bat 這個批處理文件,寫的很嚴謹,環境變量設置有它自己的規范,我不想更改。在這個文件我看到了這么一個名字 setenv.bat 。對了,看到它你就知道,你可以建立這么一個文件把 SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9046 放進去,OK啦。但這是只是 windows 中的作法。

          岔開說一句話。其實,上面的參數設置并不是都需要的,主要的就兩項: transport address ,對應于 catalina.bat 文件中 JPDA_TRANSPORT JPDA_ADDRESS 現兩個變量,你可以直接查詢并修改這兩個參數的值,注意 JPDA_TRANSPORT 的值一定是 dt_socket 才行。不過啟動方式有些變化,命令行需要這樣: catalina.bat jpda start

          Linux 中,可以直接 ./ catalina.sh jpda start 命令直接啟動調試模式,不過默認的端口是 8000 , 你也可以在 catalina.sh 查找 JPDA_ADDRESS="8000" 把端口修改想要的值。至于寫配置文件 setenv.sh 直接用 ./starup.sh 啟動的形式,我沒成功,呵呵

          下面這個就是 Eclipse 中的 Debug 設置窗口了,別告訴我你不會調出來,呵呵

          remote.jpg?

          這里,我在本機也用 remote 調試程序。當然,自然是有好處的了。 eclipse 中調程序的都知道,在 eclipse 中再啟動其他服務(不一定是 Tomcat 啦),會使eclipse編輯的響應速度急劇下降,甚至假死,很是不爽!現在好了,這么一設,既有了速度,又可以設調試斷點,哈哈,舒服啊。

          posted on 2006-06-14 19:49 Vincent.Chen 閱讀(267) 評論(0)  編輯  收藏 所屬分類: Eclipse

          主站蜘蛛池模板: 安陆市| 木里| 淮滨县| 礼泉县| 临澧县| 乌苏市| 兖州市| 开化县| 如皋市| 长垣县| 卓资县| 同江市| 大安市| 读书| 镇宁| 清镇市| 老河口市| 楚雄市| 衡阳市| 永仁县| 五莲县| 绥棱县| 同德县| 襄城县| 达拉特旗| 朝阳市| 凯里市| 浦北县| 武夷山市| 迁西县| 全州县| 鹿泉市| 阳谷县| 大方县| 牟定县| 和静县| 四平市| 苏尼特左旗| 开化县| 勃利县| 象山县|