double free*** set a breakpoint in malloc_error_br

2019-01-20 11:20发布

I am using ARC in my application with core data and threading etc, after doing all that hard work to get core data work with threading without any crashes now I am getting a new crash with the reason-

double free*** set a breakpoint in malloc_error_break to debug

How am I supposed to handle this? I have no control on the objects' retain counts.

2条回答
We Are One
2楼-- · 2019-01-20 11:53
  1. Enable Zombie
  2. Follow this link : http://iphone2020.wordpress.com/2012/02/23/capturing-exceptions-while-debugging/. This will suggest exact point of crash.
查看更多
一纸荒年 Trace。
3楼-- · 2019-01-20 12:00

If you want to know who destroyed the allocation:

Simply breaking as the message suggests will give you clues.

If you want to know who created the allocation:

Although you can also do this from the command line using malloc stack logging, it may be a gentler introduction to use Instruments. Run the program with allocation recording enabled in instruments, reproduce the issue, then look up the address in instruments of the double free -- it will show you the backtrace of the allocation's creation. then figure why that allocation was freed twice.

查看更多
登录 后发表回答