4

I have a crash in some code that happens only when the app is busy running several NSOperations at once.

With Zombies enabled (I am on ARC with a OS X app), I get a nice message like:

  -[__NSDictionaryM release]: message sent to deallocated instance 0x104da4f30

This happens when the OS is cleaning up the NSOperation. I would like to see the contents of the dictionary, but

(lldb) po 0x104da4f30 

or (lldb) po [0x104da4f30 description]

don't work,

 error: Execution was interrupted, reason: EXC_BREAKPOINT (code=EXC_I386_BPT, subcode=0x0).
 The process has been returned to the state before expression evaluation.

it seems since the object is a zombie, it will not run the code. By seeing the dictionary contents, I can tell who made it and where I messed up.

Anyone know how to tell lldb to skip the exception? I can see hints in the lldb help, but my attempts did not help.

Tom Andersen
  • 7,132
  • 3
  • 38
  • 55
  • I'm posting this as a comment since I can't answer the question you asked… but I might be able to help. You should profile your app and choose the Zombie tool from Instruments. When a message is sent to a deallocated instance the Instruments trace will flag that event and if you click on the flag and then the little right arrow in the popup, you'll be able to see the zombie object's allocation and retain/release history. That should help you track down where the dictionary was created. – Aaron Golden Sep 12 '13 at 21:18

0 Answers0