<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 7, comments - 17, trackbacks - 0, articles - 0
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    也談Eclipse中的遠(yuǎn)程調(diào)試

    問題的由來:平時(shí)的開發(fā),我們基本都是在 Debug 模式下做的,這樣便于發(fā)現(xiàn)問題給于修正。一旦項(xiàng)目到了實(shí)施測(cè)階段,程序被部署到服務(wù)器上,現(xiàn)場(chǎng)調(diào)試就會(huì)成為一個(gè)問題。因?yàn)楸徊渴鸬姆?wù)器上的日志往往不能提供足夠的信息;或是有了足夠的信息,可即時(shí)想得到一個(gè)狀態(tài)點(diǎn)的信息又不是太容易(比如說幾個(gè)關(guān)鍵變量的即時(shí)值)。于是想到,如果可以象本機(jī)調(diào)試程序一樣就好了。

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

    只要在 TOMCAT 的啟動(dòng)文件中加入一些參數(shù)就可以在 ECLIPSE 中啟動(dòng) 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... 項(xiàng),然后在左邊的樹形菜單中新增一個(gè) REMOTE_DEBUG( 遠(yuǎn)程調(diào)試 ) ,填 寫最基本的幾項(xiàng)信息就行了,這幾項(xiàng)信息是:調(diào)試名稱,工程名稱,調(diào)試主機(jī)的 URL 以及 PORT ,在 allow terminate of remote VM 前打上勾 . 最主要的就是端口信息,這個(gè)端口信息來自于上面那一串參數(shù)中的 address 項(xiàng),可以將 address 設(shè)置為任何未被占用的端口。
    以控制臺(tái)方式啟動(dòng) TOMCAT ,可以在控制臺(tái)看到 "Listening for transport dt_socket at address: 5888" 這樣的信息,說明調(diào)試端口已經(jīng)被監(jiān)聽。然后打開之前設(shè)置的調(diào)試并在 IE 或者 ECLIPSE 內(nèi)置的瀏覽器中輸入 URL 運(yùn)行 WEB 程序,記得在運(yùn)行 WEB 程序之前要設(shè)置斷點(diǎn)。
    現(xiàn)在就可以在 ECLIPSE 中進(jìn)行 WEB 調(diào)試了 ...

    要說明的是:

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

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

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

    下面這個(gè)就是 Eclipse 中的 Debug 設(shè)置窗口了,別告訴我你不會(huì)調(diào)出來,呵呵

    remote.jpg?

    這里,我在本機(jī)也用 remote 調(diào)試程序。當(dāng)然,自然是有好處的了。 eclipse 中調(diào)程序的都知道,在 eclipse 中再啟動(dòng)其他服務(wù)(不一定是 Tomcat 啦),會(huì)使eclipse編輯的響應(yīng)速度急劇下降,甚至假死,很是不爽!現(xiàn)在好了,這么一設(shè),既有了速度,又可以設(shè)調(diào)試斷點(diǎn),哈哈,舒服啊。


    評(píng)論

    # re: 也談Eclipse中的遠(yuǎn)程調(diào)試  回復(fù)  更多評(píng)論   

    2006-06-14 06:48 by thinkbase.net
    這個(gè)......叫做 JPDA, 建議有空搜索一下 JPDA, 了解一下相關(guān)知識(shí)

    # re: 也談Eclipse中的遠(yuǎn)程調(diào)試  回復(fù)  更多評(píng)論   

    2006-06-14 06:52 by thinkbase.net
    事實(shí)上所有Java程序都支持這樣的調(diào)試, 注意到 suspend=n 沒有, 如果 suspend=y, 那么Java程序啟動(dòng)時(shí)會(huì)等在那里直到你的調(diào)試器通過JPDA連上去之后再接著運(yùn)行, 我以前調(diào)試 Ant 的自定義 Task 用過. 至于調(diào)試 Application Server 那更是常用, JBoss, Weblogic, Websphere 都這樣調(diào)試過.

    # re: 也談Eclipse中的遠(yuǎn)程調(diào)試  回復(fù)  更多評(píng)論   

    2006-06-14 18:46 by Ardor Leo
    注意到到高人的回復(fù)了,謝謝!

    # re: 也談Eclipse中的遠(yuǎn)程調(diào)試  回復(fù)  更多評(píng)論   

    2006-06-15 23:02 by steeven
    樓主是火星人,鑒定完畢         ---布什

    # re: 也談Eclipse中的遠(yuǎn)程調(diào)試  回復(fù)  更多評(píng)論   

    2006-06-20 15:17 by Andy luo
    你這樣說他會(huì)去做沙大木的

    # re: 也談Eclipse中的遠(yuǎn)程調(diào)試  回復(fù)  更多評(píng)論   

    2009-06-09 20:38 by ufo
    www.gm365.com上發(fā)布的web server軟件UFO不會(huì)出現(xiàn)一個(gè)字節(jié)的內(nèi)存泄漏和一個(gè)線程的不能回收,使用UFO做Web Server的好處是網(wǎng)站能做得很穩(wěn)定,永遠(yuǎn)也不會(huì)自己down掉;UFO在托管機(jī)房丟包率很高、遭受Hacker攻擊、互聯(lián)網(wǎng) 骨干網(wǎng)被黑等惡劣的環(huán)境條件下仍然能很好地運(yùn)行;UFO在對(duì)付Hacker方面(防Hacker弄down和Hacker抓取不該訪問的資源)也有足 夠措施。
    另外,UFO幾乎不會(huì)進(jìn)行垃圾回收,消耗CPU很少,在普通的PC Server上用UFO運(yùn)行網(wǎng)站,平時(shí)CPU占用率<0.1%,最多時(shí)也不會(huì)超 過5%。您知道,JVM的垃圾回收會(huì)導(dǎo)致大量的運(yùn)算,消耗很多CPU,從而導(dǎo)致Server的負(fù)載能力和響應(yīng)速度下降。UFO在對(duì)象管理方面采 用了很好的機(jī)制和算法,做得很出色。用UFO運(yùn)行網(wǎng)站,可以一直保證高負(fù)載能力,快速的響應(yīng)速度和低CPU消耗。
    主站蜘蛛池模板: 国产AV无码专区亚洲AV蜜芽 | 大香人蕉免费视频75| 久久国产精品免费| 亚洲人片在线观看天堂无码| 久久精品国产亚洲AV麻豆不卡| 国产一区二区视频免费| av无码国产在线看免费网站 | 亚洲精品字幕在线观看| 日本不卡视频免费| 欧美最猛性xxxxx免费| 午夜无码A级毛片免费视频| 美女无遮挡拍拍拍免费视频| 国产青草亚洲香蕉精品久久| 亚洲午夜精品国产电影在线观看| 亚洲国产成人片在线观看| 精品亚洲一区二区三区在线播放| 国产又长又粗又爽免费视频| 成人免费福利电影| 无码av免费毛片一区二区| 午夜精品免费在线观看| a级男女仿爱免费视频| 久久免费视频一区| 一级毛片在线免费播放| 免费激情网站国产高清第一页| 亚洲精品自偷自拍无码| 亚洲日韩精品无码专区| 亚洲精品伊人久久久久| 亚洲AV无码久久久久网站蜜桃 | 国产精品偷伦视频免费观看了| 天天综合亚洲色在线精品| 亚洲国产成人精品无码区花野真一 | 亚洲一区二区三区不卡在线播放| 亚洲精品动漫在线| 亚洲人成激情在线播放| 亚洲av极品无码专区在线观看| 亚洲人成影院77777| 亚洲人精品亚洲人成在线| 亚洲色偷精品一区二区三区| 亚洲欧美日韩中文二区| 99亚洲乱人伦aⅴ精品| 国产成人亚洲精品播放器下载|