我在我的应用程序中使用了ARC,并且与核心数据和线程等相关,经过所有艰苦的努力使核心数据与线程一起运作而不崩溃,现在我遇到了一个新的问题,出现了以下错误-
double free*** set a breakpoint in malloc_error_break to debug
我该如何处理这个问题?我无法控制对象的保留计数。
我在我的应用程序中使用了ARC,并且与核心数据和线程等相关,经过所有艰苦的努力使核心数据与线程一起运作而不崩溃,现在我遇到了一个新的问题,出现了以下错误-
double free*** set a breakpoint in malloc_error_break to debug
我该如何处理这个问题?我无法控制对象的保留计数。
如果你想知道是谁破坏了分配:
简单地按照消息所示进行中断将给你线索。
如果你想知道是谁创建了分配:
虽然你也可以使用malloc堆栈日志从命令行完成这个操作,但使用Instruments可能会更加温和。在Instruments中启用分配记录并运行程序,重现问题,然后在Instruments中查找双重释放的地址——它将显示分配创建的回溯。然后找出为什么该分配被释放两次。
malloc_error_break
。第一个结果回答了你的问题(逐步):https://dev59.com/0Gw05IYBdhLWcg3w9mZW - justinmalloc_error_break
符号断点)进行了操作,但它并没有停在我的代码中的任何地方,而是再次报告了 *** error: can't allocate region *** set a breakpoint in malloc_error_break to debug
。 - Kudit