Xcode Guard Malloc和设备调试:找不到'libgmalloc.dylib'图像

时间:2012-11-15 11:47:00

标签: xcode malloc

我在Xcode中启用了内存检查(编辑方案 - >选项)。我在设备调试时执行以下操作:dyld: could not load inserted library '/usr/lib/libgmalloc.dylib' because image not found。积极采取措施,希望在周期早期发现错误。

内存检查在设备上无效吗?它似乎是有效的,因为它是根据http://lists.apple.com/archives/xcode-users/2012/Mar/msg00271.html承认和调查的。此外,Xcode在编译和链接期间没有抱怨。如果它对设备无效,为什么Xcode会插入库?有什么解决方案吗? Googling returned a few hits,但我没有看到任何具体的解决方案。

如何在设备上调试时启用Xcode Guard Malloc?

4 个答案:

答案 0 :(得分:65)

您无法在设备上使用GuardMalloc。

答案 1 :(得分:60)

为了解决这个问题,我创建了两个新的Xcode方案。一个名为'XXX Device',不包括malloc警卫;第二个是'XXX模拟器'并且确实包含了malloc警卫。

为设备/模拟器目的添加方案是值得怀疑的(http://www.cocoabuilder.com/archive/xcode/303307-why-does-xcode-create-nonsensical-destinations-in-every-scheme.html) 。显然,Dave Duncan没有遇到Xcode没有正确执行某些操作的问题(或者他没有使用malloc守卫等工具)。

这是Cupertino软件垃圾的臭味。给Apple和它糟糕的QA部门(如果它存在)+1,让另一个bug免费飞行。

答案 2 :(得分:10)

正如其他人回答的那样,您无法在设备上使用Enable Guard Malloc,但您可以在模拟器上使用它。

所有其他3种内存管理选项,从Xcode 7.3.1开始,可以在设备上使用:Enable Malloc ScribbleEnable Malloc Guard EdgesEnable Zombie Objects

答案 3 :(得分:2)

重启设备修复了它。 iOS尚未更新。真糟糕!