成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

圖文并茂詳解Eclipse斷點

開發 后端
大家肯定都用過Eclipse的調試的功能,在調試的過程中自然也無法避免要使用斷點(breakpoint),但不知是否對Eclipse中各類斷點都有所了解。本篇圖文并茂地介紹了Eclipse中全部類型的斷點,及其設置,希望對大家有所幫助。

大家肯定都用過Eclipse的調試的功能,在調試的過程中自然也無法避免要使用斷點(breakpoint),但不知是否對Eclipse中各類斷點都有所了解。本篇圖文并茂地介紹了Eclipse中全部類型的斷點,及其設置,希望對大家有所幫助。

1. 示例程序
BreakpointDemo是一個臆造的應用程序,只是為了便于講解Eclipse中各類斷點的使用罷了。其代碼如下圖所示,

BreakpointDemo主要包含兩個方法:

[1] setValue,該方法根據指定的次數(count),對成員變量value進行賦值,值的范圍為0-9的隨機整數。

[2] printValue,該方法會調用setValue()對value進行賦值,并打印出value的值;但,如果value能被3整除,那么就會拋出IllegalArgumentException異常。

2. Line Breakpoint

Line Breakpoin是最簡單的Eclipse斷點,只要雙擊某行代碼對應的左側欄,就對該行設置上斷點。此處,對第20行代碼設置上Line Breakpoint,如下圖所示,

可以為Line Breakpoint設置一個條件,那么當程序運行到該斷點時,只有滿足設定的條件,才會被中斷。右鍵點擊第20行的斷點,選擇"Breakpoint Properties..."。

在彈出的屬性對話框中,勾選上"Conditional",然后在文本框中輸入"count % 2 == 0"。

#p#

該條件表示,當程序運行到第20行時,只有當count為偶數時,程序才會被中斷。細心地話,你會發現該斷點的圖標發生了改變,多了一個問號。

3. Watchpoint

Line Breakpoint關注于程序運行的"過程",大家也常把使用這種斷點的調試稱為單步調試。但有時候,我們對程序的運行過程不太了解,可能也不太關心,不能確定在什么地方設置斷點比較合適,而可能比較關注某個關鍵變量的變化或使用。此時,就可以為該變量設置一種特殊的斷點--Watchpoint。在此示例,我們最關心的就是成員變量value的值,那么就可以為它設置一個Watchpoint,雙擊第9行代碼對應的左側欄就可以了。

使用在2中所提及的方法,查看該斷點的屬性,

默認地,當該變量被訪問或它的值被修改時,程序都會被中斷。但在本示例中,只希望當對value的值進行修改時程序才需要被中斷,所以取消對"Access"的勾選。

#p#

這時,我們會發現原來的Watchpoin圖標也有變化了。

4. Method Breakpoint

與關注對某個變量的訪問與修改一樣,我們也可以關注程序對某個方法的調用情況,即,可以設置Method Breakpoint。在此處,設置針對方法setValue的Method Breakpoint。同理,雙擊第11行代碼對應的左側欄即可。

仍然要查看該斷點的屬性。默認地,只勾選了"Entry",而沒有勾選"Exit"。

這表示,當剛進入該方法(調用開始)時,程序會被中斷;而,離開該方法(調用結束)時,程序并不會被中斷。在本示例中,需要同時勾選上"Exit"。

#p#

點擊OK之后,可以看到該斷點的圖標也有所改變。

根據這里的設置,當程序運行到第20行后會在第12行被中斷,盡管這里沒有顯式的斷點,但這就是setValue()方法的入口(Entry)。必須注意地是,程序在運行到第16行時不會被中斷,盡管它看起來像是setValue()方法的出口(Exit)。實際上,程序會在第17行被中斷,這里才是setValue()調用結束的地方。

5. Exception Breakpoint

如果,我們期望某個特定異常發生時程序能夠被中斷,以方便查看當時程序所處的狀態。通過設置Exception Breakpoint就能達到這一目標。本示例故意在第23行拋出了IllegalArgumentException異常,我們期望程序運行到此處時會被中斷。但我們不直接為此行代碼設置Line Breakpoint,而是為IllegalArgumentException設置Exception Breakpoint。設置Exception Breakpoint的方法與其它類型斷點都不同,它不能通過雙擊左側欄的方式在代碼編輯器上直接進行設置。點擊Breakpoints視圖右上角形如Ji的圖標,

會彈出如下所示的對話框,

在其中選中IllegalArgumentException,并點擊OK,這時一個Exception Breakpoint就設置好了。

當value為3的倍數時,程序會在第23行被中斷,這時我們就能使用調試器來看看value具體是等于0,3或6。

6. Class Load Breakpoint

還有一種大家平時可能不太用的斷點--Class Load Breakpoint,即當某個類被加載時,通過該斷點可以中斷程序。

小  結

上述的Eclipse斷點,我們在現實工作中肯定都有意或無意地使用過其中的幾種,只是不一定十分了解內情罷了。使用好Eclipse的各種斷點,可以把很好地幫助我們分析程序,定位問題。

原文鏈接:http://www.blogjava.net/jiangshachina/archive/2011/11/20/364367.html

【編輯推薦】

  1. Google開源其Eclipse插件
  2. Eclipse十年磨一劍,霜刃未曾試
  3. Eclipse 3.1新特性及各插件詳細介紹
  4. Java開發框架Play框架快速入門
  5. IBM演示基于Eclipse 3.0的軟件開發平臺新功能
責任編輯:林師授 來源: Sha Jiang的博客
相關推薦

2012-07-27 10:27:19

OfficeWord

2011-08-03 15:21:23

ORM XCode 數據庫

2011-07-04 16:57:36

QT 布局 界面

2011-01-18 18:29:28

Thunderbird

2011-01-18 18:08:28

Thunderbird

2011-07-18 13:11:53

2021-12-27 08:04:49

架構網站高并發

2011-01-20 09:13:18

Postfix

2023-05-16 08:01:13

架構網站演進

2012-07-23 14:39:27

移動

2011-01-19 17:30:21

Postfix郵件投遞

2011-01-19 17:34:39

Postfix如何接收郵件

2011-08-09 16:47:24

Xcode 4發布程序

2015-07-08 10:25:05

Javascript上下文作用域

2012-05-29 14:27:34

PHP

2022-04-20 18:30:00

算法架構粗排

2009-07-15 14:49:16

2011-01-21 10:28:06

2022-07-18 14:33:05

PythonPDF報告

2011-01-19 10:30:20

UbuntuThunderbird
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久r精品| 在线观看中文字幕 | 玖玖操 | 一级片网址 | 成人免费视频网站在线看 | 午夜视频在线免费观看 | 噜啊噜在线 | 又黑又粗又长的欧美一区 | 亚洲国产高清高潮精品美女 | 在线免费观看欧美 | 午夜色播 | 久久久精品一区 | 成人午夜黄色 | 日韩不卡一区二区 | 999久久久久久久久6666 | 午夜在线视频一区二区三区 | 日本三级播放 | 精品91久久 | 中文字幕一区二区三区四区五区 | 一区二区亚洲 | 一级a爱片性色毛片免费 | 成人国产一区二区三区精品麻豆 | 国产精品三级 | 四虎永久免费在线 | 国产精品一区二区免费 | 欧美啪啪网站 | 91福利网| 在线播放国产一区二区三区 | av在线电影网 | 奇色影视 | 午夜视频网站 | 欧美一区二区精品 | 久久y| 欧美一级免费看 | 国产日屁 | 亚洲视频免费在线看 | 亚洲一区二区三区高清 | 久久国产综合 | 日韩欧美在线视频 | 日韩一区二区av | 国产丝袜一区二区三区免费视频 |