有人可以在Apple的工具工具中解释堆栈跟踪的颜色和含义吗?

时间:2009-11-15 20:51:31

标签: instruments memory-leaks

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

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

Instruments Stack Trace Screenshot

alt text http://blog.underplot.com/files/leaks.png

由于

1 个答案:

答案 0 :(得分:4)

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

我见过的颜色之一:

  • Pink = Core Foundation
  • Brown = WebCore
  • Cyan = A.Dylib
  • 浅绿= B.Dylib
  • 紫色=基金会
  • Khaki = AppKit

您通常从下往上阅读堆栈(或在设置中反转该顺序,您可以打开每个项目的帧编号和文件图标,以帮助您保持笔直。)