Ios LLDB相当于GDB';s";信息malloc历史<;地址>&引用;指挥部?

Ios LLDB相当于GDB';s";信息malloc历史<;地址>&引用;指挥部?,ios,xcode,lldb,Ios,Xcode,Lldb,我正在尝试解决iOS中的“message sent to Deallocate instance”错误。您过去可以从shell使用malloc_history命令行工具,并为其提供进程ID和感兴趣的地址。最新Xcode的命令行工具似乎不再安装此命令:-(使用仪器,你会得到准确的线路- (在XCode中)通过“产品”->“配置文件”运行它。 这将启动仪器,您应该在那里选择“僵尸”并重现错误事件 一旦僵尸被呼叫,你会弹出一个弹出窗口,按V形按钮查看准确的线条 问题通常是坏的\uu桥(可选桥\uu桥/

我正在尝试解决iOS中的“message sent to Deallocate instance”错误。

您过去可以从shell使用malloc_history命令行工具,并为其提供进程ID和感兴趣的地址。最新Xcode的命令行工具似乎不再安装此命令:-(

使用仪器,你会得到准确的线路-

(在XCode中)通过“产品”->“配置文件”运行它。

这将启动仪器,您应该在那里选择“僵尸”并重现错误事件

一旦僵尸被呼叫,你会弹出一个弹出窗口,按V形按钮查看准确的线条


问题通常是坏的
\uu桥
(可选桥
\uu桥
/
\uu桥
/
\uu桥

参见LLDB-GDB命令图()-您必须导入一个脚本,该命令名为malloc_info now。显然,在scheme选项中仍需要打开malloc堆栈日志记录

(lldb) script import lldb.macosx.heap
(lldb) malloc_info --stack-history 0x10010d680

不幸的是,它没有显示dealloc的-GDBs malloc历史记录也显示了这一点吗?

使用仪器,它会给你提供信息。@Richard,使用僵尸仪器将帮助你调试它,但有时坐在gdb中了解malloc的历史记录是很好的。如果仪器没有锁定机器malloc\his,那就好了tory是用xcode 4.6.3安装并为我工作的。当我查看链接页面时,它显示这些命令为“仅在Mac OS X上可用”。对我来说,第一行必须是“命令脚本导入lldb.macosx.heap”,否则控制台会报告“错误:'malloc_info'不是有效命令”。(Mac OS)
(lldb)脚本导入lldb.macosx.heap
>>“crashlog”和“save_crashlog”命令已安装,使用“-help”选项获取详细帮助“malloc_info”、“ptr_refs”、“cstr_refs”、“find_variable”和“objc_refs”命令已安装,请使用“-help”这些命令上的选项提供详细帮助。我看不太清楚确切的行。我可能做错了什么?@lwdthe1您可以在Xcode output中看到消息发送到的deallocated类-它会给您一个关于deallocated实例的提示。