練習 1.2:收集執行緒資料
開始之前,您必須先完成練習 1.1:匯入必要的資源。
實務:您將調查一個短暫執行、然後突然中止的程式。每次執行此程式時,
都會發生這個狀況。這是典型的執行緒死結行為,
所以您將必須調查在這個程式中執行緒的互動情形。
若要尋找可能的執行緒死結,首先您將收集執行緒資料,
然後使用「側寫和記載」視景中的「執行緒視圖」來分析此資料。
收集執行緒資料可讓您識別死結或排除造成應用程式失效的執行緒。
準備收集執行緒資料
若要收集執行緒資料,您必須位於「側寫和記載」視景。
如果要切換至此視景,請執行下列動作:
- 從 Software Development Platform 功能表列中,選取視窗 > 開啟視景 > 其他。這時會開啟「選取視景」對話框。
- 在對話框的左下方,按一下顯示全部。勾號會出現在勾選框中。
- 從視景清單中,選取側寫和記載,再按一下確定。
- 如果「確認啟用」對話框開啟,按一下一律啟用功能並且不要再問我,然後按一下確定。
- Software Development Platform 會切換至「側寫和記載」視景。
收集 Philosopher 應用程式的執行緒資料
如果要收集資料,請執行下列動作:
- 從 Software Development Platform 功能表列中,按一下視窗 > 顯示視圖 > 主控台,
以開啟「主控台」視圖。「主控台」視圖可讓您追蹤應用程式的進度。
- 建立側寫配置:
- 從功能表列中,按一下執行 > 側寫。這時會開啟「側寫」對話框。
- 在「配置」清單中,按兩下 Java 應用程式項目。這時 New_configuration 項目會出現。
- 在「名稱」欄位中,輸入 PhilosopherThreads。
- 在「主要程式」標籤中,如果「專案」欄位中尚未輸入 philosopher,請執行下列動作:
- 按一下「專案」欄位旁邊的瀏覽。這時會開啟「選取專案」對話框。
- 選取 philosopher,然後按一下確定。
- 按一下「主要類別」欄位旁邊的搜尋。
- 在「選擇主要類型」對話框中,按一下 MaitreDHote,然後按一下確定。
- 按一下側寫標籤。
- 在「概觀」子標籤中,選取「執行緒分析」側寫集(側寫集會定義側寫執行時所要收集的效能分析資料類型)。
- 按一下側寫。應用程式會執行,並且顯示會變更如下:
- 側寫資源會出現在「側寫監視器」中。
- 「主控台」視圖會顯示應用程式執行的結果。
附註:如果您得到 Agent Controller 無法使用的「安全訊息」,請參閱如果您無法收集資料。

當應用程式到達特定點時,它會停止處理。然而,對於這次的應用程式執行,
您已收集執行緒資料,所以現在可以分析它為何停止的原因。
如果您無法收集資料
收集任何效能分析資料類型之前,Agent Controller 必須是在執行中。如果您得到 Agent Controller 無法使用的訊息,
請務必確定 Agent Controller 已安裝、手動啟動它,
然後再試一次。如需指示,請參閱安裝手冊。您可以使用啟動程式來存取此安裝手冊,
也可以在產品 CD 的 disk1/install.html 下找到它。
收集資料之後,您已準備好開始進行練習 1.3:識別執行緒瓶頸。