JDB - 簡介



除錯是一個技術過程,用於查詢和移除程式中的錯誤或缺陷,並獲得預期的結果。除錯包括測試和監控。當程式的子單元緊密耦合時,除錯會變得非常複雜。我們可以使用遵循規定的 API 的偵錯程式工具來除錯程式。偵錯程式允許您逐步執行程式碼的每個方面,檢查所有元素,並消除任何錯誤。

除錯技術

有不同的技術可以用來除錯 Java 程式。舊的除錯方法是使用列印語句在每個段的末尾,這將在控制檯上列印跟蹤語句。請檢視以下程式碼。

pubic class Add
{
   public static void main(String ar[])
   {
      int a = ar[0];
      system.out.println("A : " + a);
      
      int b = ar[1];
      system.out.println("B : " + b);
      
      int c = a + b;
      system.out.println("C = a + b : " + c);
   }
}

這裡,我們有一個程式,它將兩個數字相加並列印輸出。請注意,在每一步中,我們都引入了一個列印語句,該語句在控制檯上列印程式的狀態。這是除錯程式的傳統方法。

此外,我們還有可以用來除錯程式的高階概念,例如

  • 單步執行
  • 斷點,以及
  • 異常或監視點。

除錯型別

我們可以使用多種方法來除錯程式

  • 使用 Java 位元組碼(Java 程式碼的編譯版本)
  • 在程式中使用註釋
  • 將類附加到正在執行的程式
  • 遠端除錯
  • 按需除錯
  • 最佳化程式碼除錯

Java 偵錯程式

以下是一些市面上可用的 Java 偵錯程式的示例

  • IDE(如 Eclipse、Netbeans 等)包含自己的偵錯程式(Visual cafe、Borland、JBuilder)
  • 獨立偵錯程式 GUI(例如 Jikes、Java 平臺偵錯程式和 JProbe)
  • 命令列偵錯程式(Sun 的 JDB)
  • Notepad 或 VI 驅動(堆疊跟蹤)

本教程介紹如何使用命令列偵錯程式jdb

JDB

Java 偵錯程式 (JDB) 是一種用於 Java 類的工具,可以在命令列中除錯程式。它實現了 Java 平臺偵錯程式架構。它有助於使用 Java 除錯介面 (JDI) 檢測和修復 Java 程式中的錯誤。

JDK 中的 JDB

以下架構定義了 JDB 在 JDK 中的角色。它主要包含三個單元

  • Java 虛擬機器工具介面 (JVM TI)
  • Java 除錯線池 (JDWP)
  • Java 除錯介面 (JDI)
JDB Architecture

JVM TI

它是由 VM 實現的本機程式設計介面。它提供了一種檢查和除錯在 VM 上執行的應用程式狀態的方法。它允許實現者(VM 實現者)可以輕鬆地封裝到除錯架構中。它還使用名為JDWP的第三方通道進行通訊。

JDWP

它定義了在被除錯程序和偵錯程式前端之間傳遞的資訊和請求的格式。擁有 JDWP 的主要目的是允許被除錯程式和偵錯程式在它們在單獨的 VM 或單獨的平臺上執行時進行通訊。

JDI

它是一個作為前端實現的高階 Java 介面。它定義了使用者程式碼級別上的變數資訊。建議對所有偵錯程式開發使用 JDI 層。它使用 JDWP 與被除錯的 JVM 進行通訊。

廣告

© . All rights reserved.