Reputation: 321
I am trying to resolve a "message sent to deallocated instance " error in iOS.
Upvotes: 31
Views: 15960
Reputation: 2428
Use instruments, you'll get the exact line -
(In XCode) Run it through "Product" -> "Profile".
This will start Instruments, there you should choose "Zombies" and reproduce the bug event.
You'l get a pop-up once a zombie is called, press the chevron to see the exact line.
Problem is usually a bad __bridge
(optional bridges __brige_retained
/ __bridge_transfer
/ __bridge
)
Upvotes: 2
Reputation: 1492
See the LLDB-GDB command map (http://lldb.llvm.org/lldb-gdb.html) - you have to import a script, and the command is named malloc_info now. Obviously, malloc stack logging still needs to be turned on in the scheme options.
(lldb) script import lldb.macosx.heap
(lldb) malloc_info --stack-history 0x10010d680
Unfortunately, it doesn't show dealloc's - didn't GDBs malloc-history show that as well?
Upvotes: 44
Reputation: 211
You used to be able to use the malloc_history command-line tool from a shell and give it the process ID and address of interest. It appears this command is no longer installed by the latest Xcode's command line tools. :-(
Upvotes: 0