關於java調試,java web調試

本文目錄一覽:

java如何調試

最基本的操作是:

1, 首先在一個java文件中設斷點,然後運行,當程序走到斷點處就會轉到debug視圖下,

2, F5鍵與F6鍵均為單步調試,F5是step into,也就是進入本行代碼中執行,F6是step over,

也就是執行本行代碼,跳到下一行,

3,F7是跳出函數

4,F8是執行到最後。

1.Step Into (also F5) 跳入

2.Step Over (also F6) 跳過

3.Step Return (also F7) 執行完當前method,然後return跳出此method

4.step Filter 逐步過濾 一直執行直到遇到未經過濾的位置或斷點(設置Filter:window-preferences-java-Debug-step Filtering)

5.resume 重新開始執行debug,一直運行直到遇到breakpoint

6.hit count 設置執行次數 適合程序中的for循環(設置 breakpoint view-右鍵hit count)

7.inspect 檢查 運算。執行一個表達式顯示執行值

8.watch 實時地監視變量的變化

9.我們常說的斷點(breakpoints)是指line breakpoints,除了line

breakpoints,還有其他的斷點類型:field(watchpoint)breakpoint,method

breakpoint,exception breakpoint.

10.field breakpoint 也叫watchpoint(監視點) 當成員變量被讀取或修改時暫掛

11.添加method breakpoint 進入/離開此方法時暫掛(Run-method breakpoint)

12.添加Exception breakpoint 捕抓到Execption時暫掛(待續…)斷點屬性:

1.hit count 執行多少次數後暫掛 用於循環

2.enable condition 遇到符合你輸入條件(為ture\改變時)就暫掛

3.suspend thread 多線程時暫掛此線程

4.suspend VM 暫掛虛擬機

13.variables 視圖裡的變量可以改變變量值,在variables 視圖選擇變量點擊右鍵–change value.一次來進行快速調試。

14.debug 過程中修改了某些code後–〉savebuild–resume–重新暫掛於斷點

java程序調試的5種方法

1.debug。斷點調試。

2.輸出消息。system.out.println();來調試。

3.動態代理(Dynamic

Proxy)。動態代理是一個特定的Java特性,它允許開發者引入proxy類,加進某一給定類之前,並通過某一給定接口截獲所有調用。你可以在很短時間內用一個普通代理設置一個虛擬事件處理器,來查看事件發生順序。當需要理解事件處理器時這是最簡單和快捷的方法。

4.運行時剖析器(Run-time

Profiler)。剖析器是通過特定的JVM

hooks在系統中跟蹤所有調用的強大工具。但是用它來跟蹤執行過程是大才小用。

5.Aspects。面向方面編程。它是截獲你的代碼執行既快速又容易的方法。你可以圍繞方法、構造器、屬性訪問等等有選擇地設置hook,而不需要修改原始代碼。在這些hook中,你可以打印調試消息。

1.2常用的。3.4.5網上找的。

java調試

第一問:

public class Point

{

    int x, y;

float a, b;

static int z;

void setValue(int m, int n)

{

this.x = m;

this.y = n;

}

void setValue(float a, float b)

{

this.a = a;

this.b = b;

}

static void output()

{

Point point = new Point();

System.out.println(“x=” + point.x + “, y=” + point.y + “, a=” + point.a + “, b=” + point.b + “, z=” + Point.z);

}

}

第二問:

public Point()

{

super();

}

public Point(int z1, int z2, float z3, float z4)

{

this.x = z1;

this.y = z2;

this.a = z3;

this.b = z4;

}

第三問:

public static void main(String[] args)

{

Point pt1 = new Point();

pt1.setValue(1, 2);

pt1.setValue(3, 4);

Point pt2 = new Point();

pt2.setValue(5, 6);

pt2.setValue(7, 8);

}

第四問:

Point pt3 = new Point(9, 10, 11, 12);

第五問:

System.out.println(“x=” + pt1.x + “, y=” + pt1.y + “, a=” + pt1.a + “, b=” + pt1.b);

System.out.println(“x=” + pt2.x + “, y=” + pt2.y + “, a=” + pt2.a + “, b=” + pt2.b);

第六問:

System.out.println(“pt1.z=” + pt1.z);

System.out.println(“pt2.z=” + pt2.z);

System.out.println(“pt3.z=” + pt3.z);

pt1.output();

pt2.output();

pt3.output();

System.out.println(“Point.z=” + Point.z);

Point.output();

output();

希望可以幫到你。

原創文章,作者:RHLSO,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/329885.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
RHLSO的頭像RHLSO
上一篇 2025-01-14 18:55
下一篇 2025-01-14 18:55

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean加載過程

    Java Bean加載過程涉及到類加載器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean加載的過程。 一、類加載器 類加載器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發佈。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29
  • Java 8 Group By 會影響排序嗎?

    是的,Java 8中的Group By會對排序產生影響。本文將從多個方面探討Group By對排序的影響。 一、Group By的概述 Group By是SQL中的一種常見操作,它…

    編程 2025-04-29

發表回復

登錄後才能評論