在iOS中获取崩溃位置

我的应用程序崩溃了,我无法追查。 在日志中我得到:

[CFString发布]:发送到释放实例0xeb8a560的消息

即使在debugging,我也无法追查到崩溃。 我放置了断点并启用NSZombie,但仍然没有帮助。 有没有人有一些想法获取崩溃的位置?

一个string对象被释放。 您可以创build一个exception中断点来查找崩溃的位置。 你也可以尝试在GDB中使用bt来获取崩溃日志。

这个链接很多的技巧和提示。

为了获得崩溃的确切位置,您需要添加“Exception BreakPoint”,这会将断点添加到发生崩溃的确切位置。

在xcode 4的左侧栏中:

  1. 点击断点选项卡(第6个选项卡)
  2. 点击窗口左下方的+button
  3. 点击“添加exception断点”
  4. 点击popup窗口中的“完成”

在Xcode 4中引用“运行>在Objective-Cexception停止”?

这种types的错误(使用类保留/释放内存pipe理)也可以使用僵尸工具进行debugging。 通常(并非总是),您可以看到释放对象被保留/释放的位置的历史,并找出为什么从您下面消失。