我正在尝试解决 iOS 中的“发送到已释放实例的消息”错误。
14913 次
3 回答
42
请参阅 LLDB-GDB 命令映射 ( http://lldb.llvm.org/lldb-gdb.html ) - 您必须导入一个脚本,该命令现在名为 malloc_info。显然,malloc 堆栈日志仍然需要在方案选项中开启。
(lldb) script import lldb.macosx.heap
(lldb) malloc_info --stack-history 0x10010d680
不幸的是,它没有显示 dealloc - GDB 的 malloc-history 是否也显示了这一点?
于 2013-04-24T08:45:16.650 回答
2
使用仪器,你会得到准确的线 -
(在 XCode 中)通过“产品”->“配置文件”运行它。
这将启动 Instruments,在那里您应该选择“Zombies”并重现错误事件。
调用僵尸后,您会弹出一个窗口,按 V 形查看确切的行。
问题通常是坏的__bridge
(可选的桥梁__brige_retained
// __bridge_transfer
)__bridge
于 2012-09-10T11:02:11.643 回答
0
您曾经能够在 shell 中使用 malloc_history 命令行工具,并为其提供进程 ID 和感兴趣的地址。最新的 Xcode 命令行工具似乎不再安装此命令。:-(
于 2012-03-26T00:49:14.817 回答