简体   繁体   中英

NSZombieEnabled isn't helping my obj_msgSend

I'm getting an EXC_BAD_ACCESS with my iPhone app on 0x01ad809b <+0015> mov 0x8(%edx),%edi

I have NSZombieEnabled set to YES but I'm not seeing any class printed out in the debugger like I normally do.

Is there another way to debug this problem?

You have a crash caused, most likely, by corruption of memory, using a variable that isn't initialized, and/or casting a non-object type to an object.

First, post the backtrace of the crash. That will provide more context.

Second, try Build and Analyze. Fix any of the problems that it identifies.

Finally, if this is a new crash, go back to a revision right before the crash and then roll forward until you hit the crash. What are the changes made over that span of time?

With more context -- the crash log, in particular (or backtrace, at the least) -- more specific debugging techniques can be offered.

You can select Breakpoint navigator and add breakpoint on all exceptions. Maybe it will help.

Try with malloc info as well.

Use Instruments to Profile and detect zombies instead.

  1. Change the build target to the Simulator
  2. In the Build menu, select Profile
  3. Instruments will open, then select the Zombies instrument

This automatically sets up the NSZombieEnabled flag and will popup a message whenever a dealloced object is messaged. Clicking the disclosure will show the memory management events of the object.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM