練習 1.2:收集執行緒資料

開始之前,您必須先完成練習 1.1:匯入必要的資源

實務:您將調查一個短暫執行、然後突然中止的程式。每次執行此程式時, 都會發生這個狀況。這是典型的執行緒死結行為, 所以您將必須調查在這個程式中執行緒的互動情形。

若要尋找可能的執行緒死結,首先您將收集執行緒資料, 然後使用「側寫和記載」視景中的「執行緒視圖」來分析此資料。

收集執行緒資料可讓您識別死結或排除造成應用程式失效的執行緒。

準備收集執行緒資料

若要收集執行緒資料,您必須位於「側寫和記載」視景。 如果要切換至此視景,請執行下列動作:

  1. 從 Software Development Platform 功能表列中,選取視窗 > 開啟視景 > 其他。這時會開啟「選取視景」對話框。
  2. 在對話框的左下方,按一下顯示全部。勾號會出現在勾選框中。
  3. 從視景清單中,選取側寫和記載,再按一下確定
  4. 如果「確認啟用」對話框開啟,按一下一律啟用功能並且不要再問我,然後按一下確定
  5. Software Development Platform 會切換至「側寫和記載」視景。

收集 Philosopher 應用程式的執行緒資料

如果要收集資料,請執行下列動作:

  1. 從 Software Development Platform 功能表列中,按一下視窗 > 顯示視圖 > 主控台, 以開啟「主控台」視圖。「主控台」視圖可讓您追蹤應用程式的進度。
  2. 建立側寫配置:
    1. 從功能表列中,按一下執行 > 側寫。這時會開啟「側寫」對話框。
    2. 在「配置」清單中,按兩下 Java 應用程式項目。這時 New_configuration 項目會出現。
    3. 在「名稱」欄位中,輸入 PhilosopherThreads
    4. 在「主要程式」標籤中,如果「專案」欄位中尚未輸入 philosopher,請執行下列動作:
      1. 按一下「專案」欄位旁邊的瀏覽。這時會開啟「選取專案」對話框。
      2. 選取 philosopher,然後按一下確定
    5. 按一下「主要類別」欄位旁邊的搜尋
    6. 在「選擇主要類型」對話框中,按一下 MaitreDHote,然後按一下確定
    7. 按一下側寫標籤。
    8. 在「概觀」子標籤中,選取「執行緒分析」側寫集(側寫集會定義側寫執行時所要收集的效能分析資料類型)。
  3. 按一下側寫。應用程式會執行,並且顯示會變更如下:

    帶有程式輸出的「主控台」視圖

當應用程式到達特定點時,它會停止處理。然而,對於這次的應用程式執行, 您已收集執行緒資料,所以現在可以分析它為何停止的原因。

如果您無法收集資料

收集任何效能分析資料類型之前,Agent Controller 必須是在執行中。如果您得到 Agent Controller 無法使用的訊息, 請務必確定 Agent Controller 已安裝、手動啟動它, 然後再試一次。如需指示,請參閱安裝手冊。您可以使用啟動程式來存取此安裝手冊, 也可以在產品 CD 的 disk1/install.html 下找到它。

收集資料之後,您已準備好開始進行練習 1.3:識別執行緒瓶頸

讀者意見
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.