練習 1.2:建立您的第一個探測
開始之前,您必須先完成練習 1.1:匯入必要的資源。
只要在您的程式中輸入方法,您要建立的探測就會進行報告。
建立探測時,需要執行三個主要作業:
- 建立空白的 Probekit 程式檔
- 建立 Probekit 程式檔內容
- 檢查探測
建立空白的 Probekit 程式檔
您即將建立 Probekit 程式檔,而且該程式檔是位於本身專案中。
(您也可以在與應用程式相同的專案中建立探測,但是您必須將專案轉換成 Probekit 專案,才能建置探測。)
- 建立一個新的 Java 專案來保留探測:
- 從 Software Development Platform 功能表列中,按一下檔案 > 新建 > 專案。這時會開啟「新建專案」對話框。
- 展開 Java 項目,然後選取 Java 專案,然後按下一步。這時會開啟「新建 Java 專案」對話框。
- 在「專案名稱」欄位中,輸入 RandomNumbersProbe,然後按一下完成。RandomNumbersProbe 的項目會新增至「套件瀏覽器」視圖中。
- 將專案轉換成 Probekit 專案:
- 在「套件瀏覽器」視圖中,用滑鼠右鍵按一下您剛才建立的 RandomNumbersProbe 專案,然後按一下新建 > 其他。這時會開啟「新建」對話框。
- 勾選顯示所有精靈,然後展開「側寫和記載」項目。
- 選取將 Java 專案轉換成 Probekit 專案,然後按下一步。
- 如果開啟「確認啟用」對話框,請按一下一律啟用功能並且不要再詢問我,
然後按一下確定。這時會開啟「將 Java 專案轉換成 Probekit 專案」對話框。
- 確定只選取 RandomNumbersProbe 專案,然後按一下完成。
- 在 RandomNumbersProbe 專案中建立新的 Probekit 程式檔:
- 在「套件瀏覽器」視圖中,用滑鼠右鍵按一下 RandomNumbersProbe,然後按一下新建 > 檔案。這時會開啟「新建檔案」對話框。
- 選取 RandomNumbersProbe,使它成為母項檔案夾。
- 在「檔案名稱」欄位中,輸入 RandomNumbersProbe.probe(需要使用 .probe 副檔名),然後按一下完成。RandomNumbersProbe.probe 的項目會新增至「套件瀏覽器」視圖中。這時會開啟 Probekit 編輯器和「問題」視圖。
您現在已經有位於本身專案中的空白 Probekit 程式檔。由於檔案是位於 Probekit 專案中,
而且您已經在工作區中啟用「自動建置」,所以探測編譯器已經試圖編譯程式檔。「問題」視圖會報告有錯誤發生,
因為空白的檔案並不是有效的 Probekit 程式檔。
建立 Probekit 程式檔內容
您現在會使用 Probekit 編輯器來建立探測。
每一個探測定義都包含一個片段,它是用來定義探測的邏輯。您要建立的探測會包含單一的 Java 程式碼片段,而其類型為「進入」。
「進入」片段是指在您要探索的程式中,指定方法的方法進入時間所觸發的片段。在這個探測中,
每次輸入方法時,「進入」片段就會印出類別和方法名稱。
如果要達到它,您需要撰寫片段的程式碼,同時您需要定義兩個片段必須可以存取的資料(類別名稱和方法名稱)。
附註:除了「進入」片段外,Probekit 還可以支援其它的片段類型。例如,您也可以撰寫在指定方法結束時要執行的片段,或者當指定方法處理異常狀況時要執行的片段。請參閱說明系統,以取得詳細資訊。
當您撰寫探測時,它必須能夠套用到所有的類別和方法。然而,當您執行探測時,您可以藉由在啟動程序中過濾系統類別,來縮小其範圍。
建立您的探測:
- 在 Probekit 編輯器的下緣,按一下探測標籤。(「一般」頁面中的項目是選用的;您可以用它們來保存記錄。)
- 按一下新增探測。這時會在編輯器左邊的樹狀窗格中,新增一個探測項目。
- 用滑鼠右鍵按一下新建立的探測項目,然後按一下新建 > 片段。這時會在樹狀窗格中的探測項目下面新增一個片段項目。
依預設,片段是建立成「進入」片段。(請注意,進入也是 Probekit 編輯器右邊的編輯窗格中的「片段類型」欄位中的選項。)
- 按兩下 Probekit 編輯器視圖的標籤來放大編輯器,以讓您看見整個編輯窗格。(重新按兩下標籤,就會將視圖還原成其原始大小。)
- 建立一個變數來保留您要定義的第一個資料項目,也就是類別名稱:
- 在「資料項目」下面的編輯窗格中,按一下新增。這時會新增一個預設的資料項目,其類型為 "className"。
- 按一下編輯。
- 在「編輯資料項目」對話框的「名稱」欄位中,輸入 cname 作為變數名稱,然後按一下確定。
- 建立一個變數來保留第二個資料項目,也就是方法名稱:
- 重新按一下新增,然後按一下編輯來編輯新增的資料項目。
- 在「資料類型」方面,從清單中選取 methodName。
- 在「名稱」欄位中,輸入 mname 作為變數名稱,然後按一下確定。
- 在「Java 程式碼」區域中,輸入下列程式碼行:
System.out.println("[Enter method " + cname + "." + mname + "]");
- 從功能表列中,選取檔案 > 儲存。探測編譯器會自動從其程式碼來編譯探測。
檢查探測
當您儲存探測時,探測編譯器會在「問題」視圖中報告錯誤。請檢查「問題」視圖,以察看是否有任何錯誤。如果有錯誤發生,請在「探測」編輯器中更正錯誤,然後重新儲存探測。
「問題」視圖會報告兩種類型的錯誤:
- 其中一種錯誤類型是 Probekit 程式檔中的結構錯誤。例如,「探測」元素不得包含兩個同一類型的片段。「問題」視圖會在「資源」直欄中將這類錯誤報告為探測程式檔中的錯誤。
- 另一種錯誤類型是在探測片段的 Java 程式檔元素中。由於 Probekit 內部建構的方式使然,所報告的這些錯誤事實上是針對另一個檔案,
也就是由 Probekit 產生的檔案,在此情況下,這個檔案稱為 RandomNumbersProbe_probe.java。如果您在「問題」視圖中按兩下錯誤,就會開啟產生的 Java 程式檔。您甚至可以在此處修正問題,但您不應該這麼做:
下次探測編譯器從探測程式碼產生檔案時,就會改寫您在此處所做的任何變更。相反的,您應該檢查產生的 Java 檔錯誤所在的片段,然後使用 Probekit 編輯器來修正該片段中的問題。
現在,您已經建立好第一個探測。
現在您可以準備開始進行練習 1.3:套用您的探測。