4
votes

In my app, Thread 13 is marked as:

com.apple.root.default-overcommit-priority

Right below I see a:

0 __forwarding__

and below I have a:

6 _pthread_wqthread

Which causes:

-[CFString release]: message sent to deallocated instance

I understand that a message is being sent to a deallocated instance, my problem is I cannot find where that happens. I have zombies enabled, exception logging, etc.

I have also created a framework which is imported (with full debug symbols), and I have a feeling that this is where the error originates from.

Since the framework is not executable directly, and has to be imported, how can I debug/step into it, etc, in order to try and find the exact line that triggers this problem?

Further more, How can I get more info about the crash, other than the assembly/stack/register info?

1
I don't know if it is still relevant for you but anyway: You can just try to add files from your framework directly to your main project and try to debug, you should be able to add breakpoints and do other stuff then. Although it looks like some multithreading problem to me. In this case the crashing line is not that obvious.user1264176
Using a symbolic breakpoint might help: [CFString release] or some of these commands : lldb.llvm.org/lldb-gdb.htmlDaniel

1 Answers

1
votes

These lldb extensions are incredibly helpful for debugging. In your case, the bmessage command will allow you to set a breakpoint on [CFString release] so that you can get the trace and track down where release is being called twice on the same object.

https://github.com/facebook/chisel