0

我一直在努力解决这个崩溃问题,只是不知道从哪里开始。有人可以帮我弄清楚如何使用 Xcode 的工具来正确导航这些信息以找到罪魁祸首吗?我什至不知道这些细节是什么:

在此处输入图像描述

4

2 回答 2

1

xcode 调试的第一步通常是设置异常断点。为此,请选择左侧边栏中的异常选项卡,然后单击底部的加号并选择异常断点。这会有所帮助,因为它会在抛出任何异常时暂停执行,从而更容易追踪。

也就是说,根据您发布的屏幕截图,看起来一个对象被释放了两次,所以这可能没有多大帮助。在整个代码中使用日志语句或附加断点可能会帮助您跟踪问题发生的位置。

屏幕截图中显示的详细信息是已编译的汇编代码,并带有被调用的注释。CFRetain 由 cocoa 在内部使用来释放对象(即在 -release 的实现中)。

于 2012-08-09T12:30:00.490 回答
1

Instruments 工具应该是您的第一站——尤其是泄漏和分配分析器。

要使用它,请从ProfileXcode 的 Product 菜单中选择选项。

您可能想使用NSZombie旨在捕获对象过度释放的对象进行调查。

当然,您可能只是传递了一个指针,该指针指向的不是预期的 Core Foundation/Cocoa 对象。

于 2012-08-09T12:35:27.330 回答