大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 Eclipse調試的方法

Eclipse調試的方法

更新時間:2022-01-18 11:04:33 來源:動力節點 瀏覽2921次

基本概念

Eclipse 對調試應用程序有很好的支持。它可視化逐步執行并幫助我們發現錯誤。

為了演示 Eclipse 中的調試功能,我們將使用一個示例程序PerfectSquareCounter。該程序計算給定數字下的完美平方總數,甚至完美平方數:

public class PerfectSquareCounter {
    static int evenPerfectSquareNumbers = 0;
    public static void main(String[] args) {
        int i = 100;
        System.out.println("Total Perfect Squares: " + calculateCount(i));
        System.out.println("Even Perfect Squares : " + evenPerfectSquareNumbers);
    }
    public static int calculateCount(int i) {
        int perfectSquaresCount = 0;
        for (int number = 1; number <= i; number++) {
            if (isPerfectSquare(number)) {
                perfectSquaresCount++;
                if (number % 2 == 0) {
                    evenPerfectSquareNumbers++;
                }
            }
        }
        return perfectSquaresCount;
    }
    private static boolean isPerfectSquare(int number) {
        double sqrt = Math.sqrt(number);
        return sqrt - Math.floor(sqrt) == 0;
    }
}

(1)調試模式

首先,我們需要在 Eclipse 中以調試模式啟動 Java 程序。這可以通過兩種方式實現:

右鍵單擊編輯器并選擇Debug As -> Java Application(如下圖所示)

從工具欄調試程序(在下面的屏幕截圖中突出顯示)

(2)斷點

我們需要定義程序執行應該暫停以進行調查的點。這些稱為斷點,適用于方法。它們也可以在執行之前或執行期間隨時定義。

基本上,有 3 種方法可以在程序中添加斷點:

右鍵單擊該行對應的標記欄(垂直標尺),然后選擇 Toggle Breakpoint(如下圖所示)

在編輯器中按Ctrl+Shift+B在必要的行上

雙擊所需行對應的標記欄(垂直標尺)

(3)代碼流控制

現在調試器在給定的斷點處停止,我們可以繼續執行進一步的操作。

讓我們假設調試器當前按照下面的屏幕截圖在第 16 行定位:

最常用的調試選項是:

Step Into (F5) -此操作進入當前行中使用的方法(如果有);否則,它繼續到下一行。在此示例中,它將采用方法isPerfectSquare()中的調試器

Step Over (F6) –此操作處理當前行并進入下一行。在此示例中,這將執行方法isPerfectSquare()并繼續執行下一行

Step Return (F7) -此操作完成當前方法并將我們帶回調用方法。因為在這種情況下,我們在循環中有一個斷點,它仍然在方法中,否則它會回到主方法

Resume (F8)——這個操作將繼續執行直到程序結束,除非我們遇到任何進一步的斷點

(4)調試視角

當我們在調試模式下啟動程序時,Eclipse 會提示選擇切換到調試透視圖。Debug 透視圖是一些有用的視圖的集合,可幫助我們可視化調試器并與調試器交互。

我們也可以隨時手動切換到 Debug 透視圖。

以下是其中包含的一些最有用的視圖:

調試視圖——這顯示了不同的線程和調用堆棧跟蹤

變量視圖——這顯示了任何給定點的變量值。如果我們需要查看靜態變量,我們需要明確指定

斷點——這顯示了不同的斷點和觀察點(我們將在下面看到)

Debug Shell – 這允許我們在調試時編寫和評估自定義代碼(稍后會介紹一個示例)

技巧

在本節中,我們將介紹一些有助于我們在 Eclipse 中進行調試的重要技術。

(1)變量

我們可以在 Variables 視圖下看到執行過程中變量的值。為了查看靜態變量,我們可以選擇下拉選項Java -> Show Static Variables。

使用變量視圖,可以在執行期間將任何值更改為所需值。

例如,如果我們需要跳過一些數字并直接從數字 80 開始,我們可以通過更改變量number的值來實現:

(2)檢查值

如果我們需要檢查 Java 表達式或語句的值,我們可以在編輯器中選擇特定的表達式,右鍵單擊,然后檢查,如下所示。一個方便的快捷方式是在表達式上按 Ctrl+Shift+I 以查看值:

如果我們需要永久檢查這個表達式,我們可以右鍵單擊并觀察。現在,它被添加到 Expressions 視圖中,并且可以在不同的運行中看到這個表達式的值。

(3)調試外殼

在調試會話的上下文中,我們可以編寫和運行自定義代碼來評估可能性。這是在調試外殼中完成的。

例如,如果我們需要交叉檢查sqrt功能的正確性,我們可以在 Debug Shell 中進行。在代碼上,右鍵單擊 -> Inspect以查看值:

(4)條件斷點

在某些情況下,我們只想針對特定條件進行調試。我們可以通過以下兩種方式之一向斷點添加條件來實現這一點:

右鍵單擊斷點并選擇斷點屬性

在斷點視圖中,選擇斷點并指定條件

例如,我們可以指定斷點,僅當number等于 10 時才暫停執行:

(5)觀察點

斷點用于方法, 觀察點用于類級變量。在當前示例中,evenPerfectSquareNumbers聲明上的斷點稱為觀察點。現在,每次在觀察點上訪問或修改字段時,調試器都會暫停執行。

這是默認行為,可以在觀察點的屬性中進行更改。

在這個例子中,每次完美平方為偶數時,調試器都會停止執行:

(6)觸發點

假設我們正在調試具有大量源代碼的應用程序中的復雜問題。由于斷點分散,調試器將繼續暫停流程。

當一個斷點被標記為觸發點時,意味著其余的斷點只有在這個斷點被命中時才會被啟用。

例如,在下面的屏幕截圖中,isPerfectSquare()上的斷點應該在循環中的每次迭代中被命中。但是,我們已將calculateCount()方法上的斷點指定為觸發點以及條件。

因此,當迭代計數達到 10 時,這將觸發其余的斷點。因此,從現在開始,如果isPerfectSquare()上的斷點被命中,執行將暫停:

(7)遠程調試

最后,如果應用程序在 Eclipse 之外運行,我們仍然可以使用上述所有功能,前提是遠程應用程序允許調試。在 Eclipse 中,我們將選擇Debug 作為 Remote Java Application。

結論

在本快速指南中,我們了解了在 Eclipse IDE 中調試程序的基礎知識和不同的技術。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 欧美日韩你懂的 | 深夜影院深a久久 | 亚洲精品久久久久福利网站 | 亚洲欧美日韩高清一区二区三区 | 国产亚洲精品欧美一区 | 国产99久久精品 | 欧美精品成人一区二区视频一 | 免费a一级毛片在线播放 | 亚洲精品一区二区三区四区手机版 | 亚洲综合黄色 | 一区二区高清视频 | 女人隐私秘视频黄www免费 | 波多野结衣中文字幕一区二区三区 | 久久69精品久久久久久hb | 欧美成人全部费免网站 | 国产一区欧美二区 | 鲁丝一区二区三区不属 | 亚洲免费中文 | 四虎天堂 | 亚洲成在人网站天堂一区二区 | 不卡一二区 | 日韩一中文字幕 | 婷婷激情视频 | 亚洲精品中文字幕不卡在线 | 色婷婷综合在线 | 中文字幕一区二区精品区 | 福利一区视频 | 亚洲欧美精品一中文字幕 | 91在线看视频 | 国产成+人欧美+综合在线观看 | 奇米影视在线 | 久久免费成人 | 国产一区二区三区免费在线观看 | 亚洲精品综合欧美一区二区三区 | 久久狠狠色狠狠色综合 | 夜夜躁狠狠躁日日躁视频 | 亚洲一区二区三区久久精品 | 啪啪99久久综合精品色 | 欧美成人性视频在线黑白配 | 国产精品成人免费视频不卡 | 色哥网站 |