找出内存泄漏

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

先决条件:生成一列疑似泄漏对象

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

要找出内存泄漏:

  1. 双击疑似泄漏对象以显示“对象引用图”视图。该图突出显示了泄漏的根以及到泄漏对象的路径。
  2. 在任何对象或路径段上悬停光标以显示统计信息。查找大量已分配的内存。
  3. 在“对象引用图”视图中双击某节点以在“对象详细信息”视图中显示关于该节点的详细信息。“对象详细信息”视图使您能够一次查看对象的所有数据,包括引用当前对象的所有对象的列表以及当前对象引用的所有对象的列表。您可以单击这些列表中的任何项以向上和向下浏览对象引用链。
  4. 如果发现对象在比需要的时间更长的时间内仍保持分配的迹象,则修正您的代码以便及时释放所有迟迟不释放的引用。

父主题:分析内存泄漏

相关任务
生成一列疑似泄漏对象
保存泄漏分析数据

相关参考
“疑似泄漏对象”视图
“对象引用图”视图
“对象引用图”数据命令
“对象详细信息”视图

使用条款 | 反馈
(C) Copyright IBM Corporation 2000, 2004. All Rights Reserved.