4

在我的应用程序中,线程 13 被标记为:

com.apple.root.default-overcommit-priority

在下面我看到一个:

0 __forwarding__

在下面我有一个:

6 _pthread_wqthread

什么导致:

-[CFString release]: message sent to deallocated instance

我知道一条消息正在发送到一个已释放的实例,我的问题是我找不到发生这种情况的位置。我启用了僵尸,异常记录等。

我还创建了一个导入的框架(带有完整的调试符号),我感觉这就是错误的来源。

由于框架不能直接执行,并且必须导入,我如何调试/单步执行等,以便尝试找到触发此问题的确切行?

此外,除了程序集/堆栈/寄存器信息之外,如何获取有关崩溃的更多信息?

4

1 回答 1

1

这些 lldb 扩展对调试非常有帮助。在您的情况下, bmessage 命令将允许您在 [CFString release] 上设置断点,以便您可以获取跟踪并跟踪在同一对象上两次调用 release 的位置。

https://github.com/facebook/chisel

于 2014-07-20T07:14:01.307 回答