找出内存泄漏

在内存泄漏分析视图中可以找出可能是泄漏内存的对象。该信息使您能够更正代码并修正泄漏。

先决条件:生成“疑似泄漏对象”列表

“疑似泄漏对象”视图显示您分析的两个堆转储之间发生的最有可能的泄漏。 这些疑似对象都是堆中的对象(例如数组、向量和会话类)。对每个疑似对象都指定了一个 1 到 100 之间的可能值(其中将 100 指定给了最有可能的疑似对象);该视图仅显示其值大于您所指定阈值的疑似对象。该视图指出了泄漏的根(该对象占有对潜在泄漏对象的引用)、泄漏对象的容器以及泄漏对象的类型。该视图还指出了泄漏数、泄漏的字节数以及泄漏的对象数(即,泄漏对象当前占有的对象数)。

要找出内存泄漏:

  1. 双击疑似泄漏对象以显示“对象引用图”视图。 该图突出显示了泄漏的根以及到泄漏对象的路径。
  2. 将光标停留在任何对象或路径段上以显示统计信息。 查找大量已分配的内存。
  3. 在“对象引用图”视图中双击某节点以在“对象详细信息”视图中显示关于该节点的详细信息。 “对象详细信息”视图使您能够一次查看对象的所有数据,包括引用当前对象的所有对象的列表以及当前对象引用的所有对象的列表。您可以单击这些列表中的任何项以向上和向下浏览一系列对象引用。
  4. 如果发现已经不需要对象,但是该对象仍保持分配,则请修正您的代码以便及时释放所有迟迟没有释放的引用。
相关任务
生成“疑似泄漏对象”列表
保存泄漏分析数据
相关参考
“疑似泄漏对象”视图
“对象引用图”视图
“对象引用图”数据命令
“对象详细信息”视图
反馈
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.