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

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

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

    隨筆 - 6  文章 - 129  trackbacks - 0
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(14)

    隨筆檔案(6)

    文章分類(467)

    文章檔案(423)

    相冊

    收藏夾(18)

    JAVA

    搜索

    •  

    積分與排名

    • 積分 - 825769
    • 排名 - 49

    最新評論

    閱讀排行榜

    評論排行榜

    1、 條件斷點

    斷點大家都比較熟悉,在Eclipse Java 編輯區的行頭雙擊就會得到一個斷點,代碼會運行到此處時停止。

    條件斷點,顧名思義就是一個有一定條件的斷點,只有滿足了用戶設置的條件,代碼才會在運行到斷點處時停止。

    在斷點處點擊鼠標右鍵,選擇最后一個"Breakpoint Properties"

    斷點的屬性界面及各個選項的意思如下圖,

    2、 變量斷點

    斷點不僅能打在語句上,變量也可以接受斷點,

    上圖就是一個變量的打的斷點,在變量的值初始化,或是變量值改變時可以停止,當然變量斷點上也是可以加條件的,和上面的介紹的條件斷點的設置是一樣的。

    3、 方法斷點

     

    方法斷點就是將斷點打在方法的入口處,

    方法斷點的特別之處在于它可以打在 JDK的源碼里,由于 JDK 在編譯時去掉了調試信息,所以普通斷點是不能打到里面的,但是方法斷點卻可以,可以通過這種方法查看方法的調用棧。

    4、 改變變量值

    代碼停在了斷點處,但是傳過來的值不正確,如何修改一下變量值保證代碼繼續走正確的流程,或是說有一個異常分支老是進不去,能不能調試時改一下條件,看一下異常分支代碼是否正確?

    Debug 視圖的 Variables 小窗口中,我們可以看到 mDestJarName 變量的值為 " F:\Study\eclipsepro\JarDir\jarHelp.jar "

    我們可以在變量上右鍵,選擇"Change Value..." 在彈出的對話框中修改變量的值,

     

    或是在下面的值查看窗口中修改,保用Ctr+S 保存后,變量值就會變成修改后的新值了。

    5、 重新調試

     

    這種調試的回退不是萬能的,只能在當前線程的棧幀中回退,也就說最多只能退回到當前線程的調用的開始處。

    回退時,請在需要回退的線程方法上點右鍵,選擇 "Drop to Frame"

    6、 遠程調試

    用于調試不在本機上的程序,有兩種方式,

    1、本機作為客戶端

    2、本機作為服務端

    使用遠程調試的前提是服務器端和客戶端的代碼是一致的。

     

    本機作為客戶端

    本機作客戶端比較常用,需要在遠端的服務器上的java程序在啟動時打開遠程調試開關,

    服務器端需要加上虛擬機參數

    1.5以前版本(1.5以后也可用):【-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8000 】

    1.5及以上版本:【 -agentlib:jdwp=transport=dt_socket,server=y,address=8000】

    F:\Study\eclipsepro\screensnap>java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8000 -jar screensnap3.jar

    連接時遠程服務器時,需要在Eclipse中新建一個遠程調試程序

    這里有一個小地方需注意,連接上的時候貌似不能自動切換到Debug視圖,不要以為本機的調試程序沒有連接到服務器端。

     

    本機作為服務端

    同本機作為客戶端相比,只需要修改一下“Connection Type”

     

    這時Eclipse會進入到等待連接的狀態

    連接程序使用如下參數即可連接本機服務器,IP地址請用實現IP替換~~

    【-agentlib:jdwp=transport=dt_socket,suspend=y,address=127.0.0.1:8000】

    F:\Study\eclipsepro\screensnap>java -agentlib:jdwp=transport=dt_socket,suspend=y,address=127.0.0.1:8000 -jar screensnap3.jar

     

    遠程調試時本地的代碼修改可同步到遠程,但不會寫到遠程的文件里,也就是說本地修改會在下次啟動遠程程序時就沒有了,不會影響到下次使用時的遠程代碼。

     

    有關遠程調試更詳細點的介紹請參考【使用 Eclipse 遠程調試 Java 應用程序】

     

     

    好像漏了一個斷點,異常斷點,補一下。

    7、異常斷點

    經常遇見一些異常,然后程序就退出來了,要找到異常發生的地方就比較難了,還好可以打一個異常斷點,

    上圖中我們增加了一個NullPointException的異常斷點,當異常發生時,代碼會停在異常發生處,定位問題時應該比較有幫助

    轉 自 : http://www.javaeye.com/topic/633824

    補充:
    1.在默認的Debug View中是不顯示static 變數的,可能通過以下方法解決

        In the Debug Variables view their is a arrow button in the right of the view. the tooltip of this button is "Menu". When you click this button a drop down menu is shown where you can select "Java" -> "Show static variables"




    posted on 2010-11-30 16:41 Ke 閱讀(389) 評論(0)  編輯  收藏 所屬分類: eclipse
    主站蜘蛛池模板: 国产性爱在线观看亚洲黄色一级片 | 亚洲国产情侣一区二区三区| 国产免费拔擦拔擦8x| 亚洲视频免费在线看| 本免费AV无码专区一区| 亚洲国产一区二区三区在线观看 | 亚洲欧洲中文日韩av乱码| 在人线av无码免费高潮喷水| 人妻无码久久一区二区三区免费| 亚洲国产日韩一区高清在线| 亚洲高清无码专区视频| 四虎www成人影院免费观看| 51视频精品全部免费最新| caoporn成人免费公开| jzzijzzij在线观看亚洲熟妇| 亚洲国产午夜福利在线播放| 浮力影院第一页小视频国产在线观看免费 | 亚洲精品乱码久久久久久下载 | 亚洲人成网站在线观看播放| 免费在线视频一区| 成年在线观看网站免费| 国产精品免费高清在线观看| 天黑黑影院在线观看视频高清免费| 亚洲欧洲日韩在线电影| 亚洲综合精品一二三区在线| 亚洲免费在线播放| 亚洲AV无码第一区二区三区| 亚洲中文字幕日产乱码高清app| 99久久精品国产免费| 日本免费在线观看| 天黑黑影院在线观看视频高清免费| 亚洲1234区乱码| 亚洲一级毛片免费观看| 亚洲国产精品专区| 亚洲一区免费在线观看| 久久久久亚洲AV无码网站| 亚洲精品自在线拍| 亚洲成电影在线观看青青| 亚洲一卡2卡4卡5卡6卡在线99| 亚洲VA综合VA国产产VA中| 一区国严二区亚洲三区|