0

我正在努力成为一名优秀的程序员并修复我的 iPhone 应用程序中的泄漏......我无法理解泄漏中的堆栈跟踪试图告诉我什么。有多种颜色的堆栈调用,我猜每种颜色都意味着什么,但是什么?

另外..在下面的屏幕截图中,堆栈跟踪中的所有调用都不是来自我的任何类,这是否意味着泄漏是由 iPhone SDK 中的代码引起的,或者某些消息返回了我应该释放的保留对象?也许所有的颜色都可以暗示我这个问题?

Instruments 堆栈跟踪屏幕截图

替代文字 http://blog.underplot.com/files/leaks.png

谢谢

4

1 回答 1

4

颜色(colors)是你的代码使用的库类型(这通常意味着你没有明确调用的东西——仪器称它们为“负责任的库”。)。如果您在堆栈跟踪单元格顶部的设置菜单中关闭“按库着色”选项,它将恢复为白色/浅蓝色单元格,以免分散您的注意力。

在我见过的颜色中:

  • 粉红色 = 核心基础
  • 棕色 = WebCore
  • 青色 = A.Dylib
  • 浅绿色 = B.Dylib
  • 紫色 = 基础
  • 卡其色 = AppKit

您通常从下往上读取堆栈(或在设置中颠倒该顺序,您可以为每个项目打开帧号和文件图标以帮助您保持正确。)

于 2009-11-15T21:11:48.440 回答