XCode Instruments - 找到代码泄漏的行

时间:2012-08-27 15:31:11

标签: xcode cocoa memory-leaks instruments

一旦在4.3.2中检测到泄漏,有没有办法让它带你到正在发生的代码行?在文档中它说:

找到泄漏的内存。 。

  1. 打开泄漏仪器。
  2. 从“选择目标”弹出菜单中选择您的应用程序。
  3. 单击“录制”按钮。
  4. 练习您的应用以执行代码,并在显示泄漏时单击“停止”按钮。
  5. 单击“详细信息”窗格中标识的任何泄漏对象。
  6. 在“扩展详细信息”窗格中,双击代码中的指令。
  7. 点击详情窗格中的Xcode图标,在Xcode中打开该代码。
  8. 当我双击扩展详细信息下的对象时,它不会打开代码,它会打开一个窗口,其中包含:+0x30 testq %rax, %rax

1 个答案:

答案 0 :(得分:3)

在扩展详细视图中双击调用堆栈中的函数时,该函数是否是您编写的函数?如果双击未编写的函数(例如Cocoa框架中的方法),您将获得汇编语言指令,就像您在问题中列出的那样。您必须双击为Instruments编写的函数才能显示代码。

Instruments中的调用树视图可以更轻松地找到泄漏内存的代码区域。从跳转栏中选择“呼叫树”。在窗口的左侧是一个带有一系列复选框的“调用树”部分。选择“反转调用树”和“隐藏系统库”复选框可以更轻松地在调用树中查找代码。双击调用树中的某个函数以打开源视图,该视图将显示分配泄漏内存的代码行。