当释放指针时,您可能会看到错误,例如
"没有分配被释放的指针"
在使用模拟器进行调试时,我添加了一个构建参数MallocStackLogging = YES - 这允许我在终端中使用malloc_history来跟踪我释放指针的位置.
如果我使用此构建参数在设备上进行调试,我会收到各种控制台错误"无法创建堆栈日志文件"等.
奇怪的是,我在设备上出现了一些过度释放的指针错误,但在模拟器上却没有.
有没有人有使用设备本身追踪这些的经验?
谢谢!
另一种方法.确保打开NSZombie,以便报告获得额外版本的对象的内存地址.然后使用Performance Tool-> Object Allocations运行.这将带来乐器.查看Xcode管理器提供的控制台日志.一旦你得到崩溃查找仪器中的内存地址.您将在该对象上看到mallocs/frees的完整历史记录,以及直接链接到代码中的链接.