我有一个带有4个标签的标签栏应用,但代码中没有什么特别的。

所有模拟器测试都很好,应用程序没有崩溃,一切正常,Xcode中没有显示警告或错误(我使用的是Xcode 4.2,该应用程序使用情节提要)。

运行“分析”时,代码中没有泄漏,错误或潜在的泄漏。

运行“泄漏”时,没有列出泄漏,并且我可以加载,重新加载,选项卡之间的交换等,一切都很好。

但是,当我在iPhone上运行此程序时,会出现很多泄漏!

其中一些似乎在已发布且看起来不错的代码中,并且在Xcode中都可以很好地验证。

为什么在模拟器上的电话上运行的情况与此不同,如何在模拟器上运行泄漏时发现并调试未显示的泄漏?

===============>>#1 票数:0 已采纳

首先,通过将检查范围(使用左右范围按钮)限制在发生泄漏的区域,可以检查较小的区域。 然后,通过从左侧的“调用树”中选择一些有用的检查,例如“仅显示Obj-C”,“隐藏缺少的符号”等。然后,您将从乐器中获得更多有用的信息。 之后,单击与泄漏相关的行之一,打开扩展视图并开始检查您的调用堆栈。 而且,据我所记得,双击泄漏线可以将您带到分配泄漏对象的源代码。 这里要小心,因为它不会显示泄漏发生的位置,而会显示泄漏对象的分配位置。 因此,您应该遵循这些对象发生的情况。

关于模拟器和设备之间的区别,您可以检查 SO问题。

希望这些帮助!

  ask by Richard translate from so

未解决问题?本站智能推荐: