類別範圍的片段探測範例

這個範例示範如何在探測中使用類別範圍的片段。

在範例中,探測會計算 com.sample* 萬用字元型樣相符的套件中所有類別已建立的實例個數,且每建立一百個實例就報告一次。

類別範圍的片段會宣告計數器,在編譯 entry 片段的類別中,此計數器以 int 類型的 static 欄位表示。這個片段也會宣告 fragment 類別的 static 起始設定程式來報告已載入的探測。請注意,類別範圍的片段中的項目是在產生的探測類別內建置,不是在套用探測的類別內建置。若要將 static 欄位或 static 起始設定程式邏輯插入套用探測的類別內, 請使用 staticInitializer 類型的探測片段,或定義 static 欄位。

Probekit 編輯器使用下列項目來定義此探測:
  • 類別範圍的片段的 Java 程式碼(在樹狀結構畫面中選取探測來輸入這個值):

    static public int entry_counter = 0;
    static int counter = 0;
    static { System.out.println("[fragmentAtClassScope sample probe has loaded.]"); }

  • 目標(若要輸入這些值,請在樹狀結構畫面中選取目標,再按一下編輯):
    • 目標類型include
    • 套件com.sample*(這裡使用實際的套件名稱。)
    • 類別*
    • 方法<init>
    • 簽章*
  • 目標(若要輸入這些值,請在編輯畫面中按一下新增, 再按一下編輯):
    • 目標類型exclude
    • 套件*
    • 類別*
    • 方法*
    • 簽章*
  • 片段(在樹狀結構畫面中選取片段來輸入這些值):
    • 片段類型entry
    • Java 程式碼

      ++counter;
      if (counter % 100 == 0)
        System.out.println("[" + counter + " instances of classes in com.sample package so far]");