我在我的应用程序中使用 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 的更温和的介绍。在工具中启用分配记录的情况下运行程序,重现问题,然后在工具中查找双重释放的地址——它将向您显示分配创建的回溯。然后弄清楚为什么该分配被释放了两次。