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

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

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

    內蒙古java團隊

    j2se,j2ee開發組
    posts - 139, comments - 212, trackbacks - 0, articles - 65
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    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
      遠程調試時本地的代碼修改可同步到遠程,但不會寫到遠程的文件里,也就是說本地修改會在下次啟動遠程程序時就沒有了,不會影響到下次使用時的遠程代碼。
    7、異常斷點
      經常遇見一些異常,然后程序就退出來了,要找到異常發生的地方就比較難了,還好可以打一個異常斷點,

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

    主站蜘蛛池模板: 91精品国产亚洲爽啪在线观看| baoyu777永久免费视频| 日韩视频在线精品视频免费观看| 亚洲精品乱码久久久久66| 一级毛片一级毛片免费毛片| 77777午夜亚洲| EEUSS影院WWW在线观看免费 | 免费人成大片在线观看播放| 国产在线ts人妖免费视频| 亚洲狠狠婷婷综合久久久久| 99久久免费国产精精品| 狠狠色伊人亚洲综合成人| 国产麻豆一精品一AV一免费| 亚洲av激情无码专区在线播放| 亚洲av午夜国产精品无码中文字| 免费毛片在线播放| 特级毛片免费观看视频| 亚洲无av在线中文字幕| 久久精品视频免费| 激情综合亚洲色婷婷五月APP| 午夜高清免费在线观看| 亚洲日韩中文字幕| 嫩草影院在线免费观看| 五月天婷婷免费视频| 国产成人无码综合亚洲日韩 | 亚洲一区免费视频| 国产一级一片免费播放i| 一级做α爱过程免费视频| 久久亚洲AV无码精品色午夜麻| 永久免费AV无码国产网站| 日本久久久久亚洲中字幕| 亚洲精品免费网站| 久久人午夜亚洲精品无码区 | 成熟女人牲交片免费观看视频| 337P日本欧洲亚洲大胆精品| 最新欧洲大片免费在线| 老外毛片免费视频播放| 久久亚洲精品无码VA大香大香| 青青草国产免费久久久91| 国产午夜精品久久久久免费视 | 亚洲欧洲国产经精品香蕉网|