malloc: *** error for object 0x10a291df8: pointer being freed was not allocated *** set a breakpoint in malloc_error_break to debug

malloc_error_break错误:
1、You'll find out what the object is when you break in the debugger. Just look up the call stack and you will find where you free it. That will tell you which object it is.
1. The easiest way to set the breakpoint is to:        1    Goto Run -> Show -> Breakpoints (Alt-Command-B)
    2    Scroll to the bottom of the list and add the symbol malloc_error_break    2、Open up the debugger console by pressing Cmd+Shift+R. There, type
break malloc_error_break
to set a breakpoint at the beginning of the malloc_error_break function.
If you want to find out what object is located at address 0x1068310, you can type the following into the debugger console:
print-object 0x1068310
Of course, you have to do this while the object is still alive -- if the object has already been freed by the time you do this, then this will not work.

 

https://stackoverflow.com/questions/971249/how-to-find-the-cause-of-a-malloc-double-free-error

 

posted @ 2017-12-15 09:10  风来风往风伤(TiAmo)  阅读(4370)  评论(0编辑  收藏  举报