識別記憶體洩漏

必備條件:

記憶體洩漏是程式的動態儲存體配置邏輯中發生錯誤,這會使得邏輯無法收回捨棄的記憶體。 亦即,將收不回不再需要的物件。非預期的大量這類實例,表示可能有記憶體洩漏的情形。 記憶體洩漏若嚴重的話,可能導致應用程式完全無法執行,因為它用光了記憶體。

如果物件持續保留其他物件的參照,就會導致記憶體洩漏,進而使得記憶體回收無法收回被保留的物件。「物件參照」表可用來協助您識別這類參照。

在應用程式中尋找記憶體洩漏

如果要識別應用程式中的記憶體洩漏,請遵循下列步驟:

  1. 在「側寫和記載」視景的「側寫監視器」視圖中,選取監視器或代理程式。 
  2. 用滑鼠右鍵按一下「監視器」或「代理程式」,選取收集物件參照。這時會收集物件參照。
  3. 再次按一下滑鼠右鍵,選取開啟工具 > 物件參照。這時會開啟「物件參照」表。
  4. 選取本端功能表圖示含三角形圖示的按鈕,再選取顯示參照項目
  5. 檢查物件清單及其參照的數目。有參照的物件就可能發生記憶體洩漏問題。 

在交易導向的作業中尋找記憶體洩漏

這個程序可協助識別程式中建立新的物件但未釋放它們,使得它們無法經由記憶體回收而移除的階段。比方說,程式建立了一個對話框視窗,但在視窗關閉之後,與對話框相關的物件仍繼續保留。如果要識別交易導向作業中的記憶體洩漏,請遵循下列步驟:

  1. 在「側寫和記載」視景的「側寫監視器」視圖中,選取監視器或代理程式。 
  2. 收集相關作業之前的物件參照。按一下滑鼠右鍵,選取收集物件參照。這時會收集物件參照。
  3. 用滑鼠右鍵按一下監視器,選取開啟工具 > 物件參照。 請檢查「物件參照」表,將所建立的物件參照記下來。
  4. 執行您要檢查的作業。
  5. 收集作業完成之後的物件參照。按一下滑鼠右鍵,再選取一次收集物件參照
  6. 用滑鼠右鍵按一下監視器,選取開啟工具 > 物件參照。 請檢查「物件參照」表,將所建立的物件參照記下來。
  7. 如果要檢查特定物件的參照,請遵循下列步驟:
    1. 從「物件參照」表的下拉功能表中,選取顯示參照方式
    2. 選取物件類別,然後展開該項目。
    3. 識別防止新物件被收回的參照。

 

相關概念
側寫工具概觀
側寫資源
「物件參照」表

相關作業
側寫應用程式
啟動或連接 Java 程序