当在释放一个指针,你可能会看到一个错误,如iPhone - 调试“被释放的指针是未分配”的错误
“被释放的指针是未分配”
当与模拟器调试,我添加一个构建参数MallocStackLogging = YES - 这允许我在终端中使用malloc_history来追踪我在哪里释放了一个指针。
如果我调试设备上的这个版本的说法,我得到各种控制台的错误“无法创建堆栈日志文件”等
奇怪的是,我得到呈现在装置上的一些过度释放的指针错误,但不在模拟器上。
有没有人有任何使用设备本身跟踪这些经验的经验?
谢谢!
我是不能够与这些明确的方向(在Xcode 4.2.1)得到它 - 我有运行Xcode,然后在运行时附加Instruments。我为当前的Scheme打开了“启用僵尸对象”,一旦我触发了这个异常,乐器就像冠军一样锁定,并将我带到了僵尸地址的历史记录中。我查看了堆栈跟踪的初始分配情况,并看到导致异常的不必要的`[autorelease]`。真棒工具! – Dov 2011-12-09 01:11:53