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

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

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

    如鵬網(wǎng) 大學(xué)生計算機(jī)學(xué)習(xí)社區(qū)

    CowNew開源團(tuán)隊

    http://www.cownew.com 郵件請聯(lián)系 about521 at 163.com

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      363 隨筆 :: 2 文章 :: 808 評論 :: 0 Trackbacks

    CowNew開源團(tuán)隊網(wǎng)站 http://www.cownew.com
    論壇 http://www.cownew.com/newpeng/
    轉(zhuǎn)載請注明此版權(quán)信息

    今天做的事情比較雜,所以感想也比較雜:
    1、java程序的遠(yuǎn)程調(diào)試。
    “JPDA是sun jdk自帶的遠(yuǎn)程調(diào)試機(jī)制。它提供了一套標(biāo)準(zhǔn)的調(diào)試接口,可以從虛擬機(jī)一級允許外界用特定協(xié)議探測虛擬機(jī)內(nèi)部的運作細(xì)節(jié)。只要你裝了jdk 1.2以上的sun jdk,就已經(jīng)有了jpda支持。 只要是用標(biāo)準(zhǔn)JDK中java.exe運行的應(yīng)用,就可以用jpda進(jìn)行遠(yuǎn)程調(diào)試。以web應(yīng)用的開發(fā)為例,servlet和ejb的調(diào)試一直不是一件太容易的事情。雖然jbuilder、eclipse等有一些常見的應(yīng)用服務(wù)器,如tomcat, weblogic 6.x,的調(diào)試插件,但是用法各不相同,而且很容易由于版本問題導(dǎo)致出現(xiàn)各種問題,而且對于有的服務(wù)器則沒有相應(yīng)的IDE插件。
    JPDA就不一樣。由于它是java平臺的標(biāo)準(zhǔn)功能之一,所以我們其實可以調(diào)試任何用jdk運行的程序。只需要做兩件事:
    (1)、 在被調(diào)試的應(yīng)用上,增加幾個java虛擬機(jī)啟動參數(shù),讓它啟動后進(jìn)入調(diào)試服務(wù)器模式;
    (2) 在本機(jī)或網(wǎng)絡(luò)中另一臺機(jī)器上用某種jpda客戶端程序,attach到被調(diào)試的應(yīng)用程序(可以通過socket或共享內(nèi)存兩種方式)。jpda本身只是一個接口,調(diào)試工具的好用與否就要看其對jpda的應(yīng)用如何。jdb是sun jdk自帶的命令行jpda調(diào)試客戶程序,你可以用命令行設(shè)置斷點,查看變量值,等等。但不是很直觀。而jbuilder、eclipse的jpda調(diào)試器就做到了將jpda圖形化,可以直觀的設(shè)置斷點,跟蹤程序,查看量值,等等。 ”---本段改編自“http://www.cjsdn.com/post/print?bid=7&id=1376”

    以elipse+tomcat為例:
    (1)打開Tomcat 5.0\bin下的catalina.bat,在“set JPDA= ”下加入如下兩行:
    set JPDA_TRANSPORT=dt_socket
    set JPDA_ADDRESS=8787
    (2)啟動tomcat
    (3)在eclipse的debug中新建一個“Remote Java Application”,工程選擇被調(diào)試的遠(yuǎn)程程序的源碼工程,host填127.0.0.1,port為8787
    (4)運行調(diào)試。
    這樣我們就可以在eclipse中下斷點調(diào)試tomcat中運行的程序了。讓那些亂七八糟的插件哪涼快去哪呆著吧。
    注意一定要保證eclipse工程中的源碼和tomcat中運行的程序一致。

    2、調(diào)用對象的wait方法的時候有可能會拋出InterruptedException異常,以前我是把這個異常再次拋出,今天運行發(fā)現(xiàn)當(dāng)這個異常拋出的時候,線程就死掉了。因此不能簡單的將此異常re-throw,必須處理它,比如JDBMonitor中的BlockedChannel的take方法就要如下改寫:
    public synchronized Object take()
    ?{
    ??if (container.isEmpty())
    ??{
    ???try
    ???{
    ????wait();
    ???} catch (InterruptedException e)
    ???{
    ????return null;
    ???}
    ??}
    ??Object obj = container.pop();
    ??return obj;
    ?}

    3、windows下運行l(wèi)inux的最好的工具
    最近一直想驗證JDBMonitor在linux底下是否有bug,但是聽人說過,linux安裝不當(dāng)很容易發(fā)生數(shù)據(jù)丟失,因此一直不敢裝。而用virtual PC,VMWare之類的軟件又太消耗內(nèi)存,而且需要虛擬機(jī)安裝完成再安裝linux。今天無意中搜索到一個windows下的linux虛擬機(jī):MetroPipe VPM 。
    下載地址:
    http://www.metropipe.net/ProductsPVPMDownload.shtml
    解壓后直接運行其中的qemu-win.bat就能啟動Linux。不用安裝,啟動關(guān)閉都非???,而且占用內(nèi)存相對來說比較小。
    唯一一個缺點就是默認(rèn)就進(jìn)入圖形模式,抽時間看看怎么配置讓它啟動以后進(jìn)入字符模式。
    詳細(xì)可以參考:http://www.highand.com/viewthread.php?tid=545

    ?

    posted on 2006-06-13 01:06 CowNew開源團(tuán)隊 閱讀(967) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 精品免费久久久久久成人影院| 5g影院5g天天爽永久免费影院| 国内自产拍自a免费毛片| 4480yy私人影院亚洲| 亚洲国产一级在线观看 | 亚洲午夜久久久精品电影院| 免费一级毛片无毒不卡| 一个人免费观看视频www| 亚洲午夜精品久久久久久浪潮| 一边摸一边爽一边叫床免费视频 | 国产成人精品免费视频大全| 久久久精品国产亚洲成人满18免费网站| 美女视频黄a视频全免费网站色 | 国产免费av一区二区三区| 特级无码毛片免费视频| 中文字幕在亚洲第一在线| 国内精品免费在线观看| 亚洲人成亚洲精品| 国产福利在线免费| 欧美亚洲国产SUV| 国产亚洲人成A在线V网站| 久久午夜免费鲁丝片| 亚洲国产精品自产在线播放| 久草免费福利在线| 4444亚洲国产成人精品| 拨牐拨牐x8免费| 国产精品免费观看视频| 亚洲精品人成在线观看| 成人毛片免费视频| eeuss免费影院| 亚洲精品91在线| 国产午夜影视大全免费观看| 成人精品视频99在线观看免费| 久久精品国产亚洲av麻豆小说| 久久不见久久见中文字幕免费| 青青免费在线视频| 亚洲综合成人网在线观看| 精品久久免费视频| 成人无码WWW免费视频| 亚洲熟妇av午夜无码不卡| 国产亚洲午夜高清国产拍精品 |