Xcode 代码4:Can';由于iPad模拟器的动态库错误,无法使用Enable Guard Malloc
在Xcode 4.x中,我将我的运行方案编辑为“启用保护Malloc”,因为我有一个难以描述的Malloc错误需要跟踪。我知道我需要在模拟器中运行才能使用此功能。但是,当我这样做时,应用程序立即冻结,Xcode向我显示一个堆栈跟踪,如下所示: 我在谷歌上搜索了一下,想找到一个解决办法,但到目前为止还没有找到任何乐趣。据其他地方的报道,我应该在我的方案中设置一个环境变量:Xcode 代码4:Can';由于iPad模拟器的动态库错误,无法使用Enable Guard Malloc,xcode,malloc,dylib,guard,Xcode,Malloc,Dylib,Guard,在Xcode 4.x中,我将我的运行方案编辑为“启用保护Malloc”,因为我有一个难以描述的Malloc错误需要跟踪。我知道我需要在模拟器中运行才能使用此功能。但是,当我这样做时,应用程序立即冻结,Xcode向我显示一个堆栈跟踪,如下所示: 我在谷歌上搜索了一下,想找到一个解决办法,但到目前为止还没有找到任何乐趣。据其他地方的报道,我应该在我的方案中设置一个环境变量: DYLD_INSERT_LIBRARIES -> /usr/lib/libgmalloc.dylib 然而,这并
DYLD_INSERT_LIBRARIES -> /usr/lib/libgmalloc.dylib
然而,这并不能解决问题。我也尝试过将“lsystem”作为值,但这也不起作用
有人能为这个动态库问题提出一个解决方案吗?或者,有人能推荐一个替代方案来“启用保护Malloc”以确定超出Malloc堆区域的位置吗
更新
澄清一下,这就是我正在处理的错误类型:
malloc: *** error for object 0x2b4b54: incorrect checksum for freed object - object was probably modified after being freed.
*** set a breakpoint in malloc_error_break to debug
我已尝试将符号断点设置为
malloc\u error\u break
,但它仍然会在内存问题时“随机”中断,而不是在超出分配区域的点上中断。要帮助您设置调试,当您的应用程序崩溃时,请在gdb控制台中键入以下内容:
(gdb) info malloc-history 0x543216
将0x543216
替换为导致崩溃的对象的地址,您将获得一个更有用的堆栈跟踪,它将帮助您确定代码中导致问题的确切行
请将堆栈跟踪作为文本包含;我无法用谷歌轻松找到这个页面!我有同样的问题,即使是在一个全新的空白公用事业项目。我的安装上似乎有什么东西坏了,但到目前为止还没有找到解决办法。当我切换到iOS 4.3模拟器时,问题消失了,因此它似乎是iOS 5模拟器特有的。