第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

斷點與調試

1. 前言

通過前面章節(jié)的介紹,我們已經(jīng)知道如何運行 Java 程序了。

現(xiàn)在讓我們看看當程序運行達不到我們的預期的時候,我們如何進行調試,以便找出其中的 BUG。

Eclipse 中的 Java開發(fā)工具包(JDT)為我們提供了一個調試器(debugger)。

調試器可以幫助我們查找代碼中的問題,它帶來了設置斷點,掛起運行中的程序,檢查變量的內容等功能。

要使用調試器對我們的代碼進行調試,我們首先需要知道斷點是什么以及如何設置斷點。

知道如何設置了斷點后,我們還需要去熟悉 Debug 視圖中的執(zhí)行控制命令,這樣,我們才知道如何進行調試。

下面,讓我們從了解斷點開始,學習如何在 Eclipse 中進行調試。

2. 斷點

2.1 斷點是什么

斷點是 Eclipse 為我們提供的一個功能,它可以讓我們把運行中的程序掛起(暫停)。

當我們進行調試時,程序遇到斷點的時候會被掛起(暫停),此時,我們可以對程序進行檢查。這也是斷點的作用。

那么,在Eclipse中,斷點是什么樣子的呢?

通常,我們會通過 Java編輯器中的標尺設置斷點,如下圖所示:

圖片描述

上圖中紅色框起來的位置就是我們的標尺區(qū)域。

同時如果設置了斷點,將會顯示一個藍色的圓圈,它代表了我們在 Eclipse 中的斷點。

2.2 添加斷點

添加斷點,我們有兩種方法:

  1. 直接雙擊標尺中的行號
  2. 鼠標右鍵標尺中的行號,在彈出的菜單中進行選擇。

第一種方法直接雙擊行號后,就可以為該行代碼添加斷點了(行號左邊出現(xiàn)藍色圓圈)。

如果要取消斷點,只需要再次雙擊該行號。

第二種方法,在我們鼠標右鍵標尺中的行號后,在彈出的菜單中選擇 Toggle Breakpoint 選項后,將為該行添加斷點。如下圖所示:

圖片描述

如果要取消斷點,只需要再次選擇 Toggle Breakpoint 選項。

如菜單中所示,我們還可以通過 Shift + Command + B (如果是非Mac系統(tǒng),則是 Shift + Ctrl + B)來操作,該操作將直接為我們光標所在的行添加或取消斷點。

2.3 禁用斷點

除了通過再次操作添加斷點的方式取消斷點外,我們還可以禁用斷點。

斷點如果禁用,那么該行代碼將不會被掛起。

在斷點處鼠標右鍵,此時的出現(xiàn)的菜單將可以選擇 Disable Breakpoint 選項,如下圖所示:

圖片描述

如菜單中所示,我們還可以通過 Shift + 雙擊鼠標左鍵 來禁用斷點。

選擇 Disable Breakpoint 選項后,斷點將由藍色的圓圈,變成白色的圓圈:

圖片描述

同樣,如果要恢復,只需要再次執(zhí)行一遍該操作即可。

3. 調試

了解斷點后,讓我們來看看如何對我們的 Java 代碼進行調試。

3.1 打斷點

首先,如果要調試代碼,我們要在需要調試的代碼位置打上斷點:

圖片描述

打上斷點后,我們就可以開始啟動調試了。

3.2 啟動調試

啟動調試有 3 種途徑:

  1. 在 Java 文件的空白處點擊鼠標右鍵,在彈出的菜單中選擇 Debug As 選項。
  2. 鼠標右鍵我們的 java 文件,在彈出的菜單中選擇 Debug As 選項。
  3. 在工具欄中找到 Debug 圖標,在彈出的菜單中選擇 Debug As 選項。

不管選擇哪種,我們都可以啟動我們的調試,下圖是通過在工具欄中選擇 Debug 圖標的方式:

圖片描述

選擇 Debug As -> 1 Java Application 后,我們將看到詢問我們是否切換到 Debug 透視圖的窗口,如下圖所示:

圖片描述

如果我們已經(jīng)處于 Debug 透視圖 那么就不會出現(xiàn)該彈窗。

我們選擇 Switch,這將幫我們打開 Debug 透視圖,如下圖所示:

圖片描述

Debug 透視圖中默認有兩個視圖,分別是左邊的 Debug 視圖,右邊的變量視圖。

3.3 Debug 透視圖

3.3.1 Debug 視圖

Debug 視圖顯示的是我們正在調試過程中被掛起的線程的堆棧信息。

其中每個線程在視圖中被顯示為樹中的一個節(jié)點,如下圖紅框所標示的就是一個節(jié)點:

圖片描述

和 Debug視圖 相關聯(lián)的還有一些常用的按鈕,如下圖所示:

圖片描述

其中 2,3,4,5 是我們的調試中的 執(zhí)行控制命令,圖中標示的按鈕如下:

  1. 這是個開關選項,如果選擇打開,則跳過所有的斷點。
  2. 恢復掛起的線程(Resume)。
  3. 終止被選擇的調試目標(Terminate)。
  4. 進入當前被高亮的語句(Step Into)。
  5. 開始執(zhí)行被高亮語句的下一個語句(Step Over) 。
  6. 這是個開關選項,如果選擇打開,則開始使用步驟過濾器(Use Step Filters)。

除此之外我們還有三個按鈕沒有被亮起,這是三個也是屬于調試中的執(zhí)行控制命令:

圖片描述

  1. 可以掛起線程,以便我們?yōu)g覽或修改代碼,檢查數(shù)據(jù),執(zhí)行步驟等(Suspend)。
  2. 此按鈕用于遠程調試用,點擊時將斷開連接(Disconnect)。
  3. 將跳出當前的方法(Step Return)。

現(xiàn)在,讓我們點擊 Step Over 按鈕,把程序運行到第 12 行,如下圖所示:

圖片描述

接下來,讓我們把關注點放到變量視圖中。

3.3.2 變量視圖

變量視圖顯示的是調試中相關的變量信息:

圖片描述

我們可以看出來,變量視圖分為上下兩部分。

上部分就是變量的信息,包括變量名和變量值。

下部分其實一個詳細窗格,在我們選擇變量后,可以用于更全面地顯示變量的信息。

我們這里只有一個值,但是如果是一個數(shù)組,該窗格能體現(xiàn)更多的作用。

3.4 完成調試

通過一行一行地執(zhí)行我們的代碼,我們就可以完成對我們代碼的調試。

通常我們會通過前面介紹的 Debug 視圖中的執(zhí)行控制命令來一步步地控制語句的運行,然后觀察變量視圖中的內容。

調試中,高亮的語句是當前被掛起的地方。

我們可以使用 Step Into 或者 Step Over 按鈕進行下一條語句的執(zhí)行。

當整個程序執(zhí)行完,或者我們自己點擊終止按鈕時,調試結束。

5. 小結

本文中講解了斷點和調試的內容。

其中的重點是,我們需要了解如何設置斷點和熟悉 Debug 視圖。

多去使用 Debug 視圖是掌握 Eclipse 調試的好辦法。