C++ iOS应用程序在同一内存地址获得EXC_BAD_访问,但原因不同

C++ iOS应用程序在同一内存地址获得EXC_BAD_访问,但原因不同,c++,objective-c,ios,xcode,ios5,C++,Objective C,Ios,Xcode,Ios5,我正在构建一个iOS应用程序。它使用一个C++库,它与一个COSCO2D游戏一起运行(群集模拟LIB,它决定了许多代理的位置)。 在我添加了更多的动画和额外的铃声后,应用程序在大约6-30秒后崩溃,错误如下: 免费列表中的tiny_malloc_ 微小的\u空闲\u列表\u删除\u ptr 问题是,它总是发生在相同的内存地址0x1000。但是我可以在两个不同的设备上准确地复制错误,所以坏的不是内存本身 我并不期待得到一个完整的答案,但是一些我应该从哪里开始寻找的建议会非常好:)谢谢 编辑:我完全

我正在构建一个iOS应用程序。它使用一个C++库,它与一个COSCO2D游戏一起运行(群集模拟LIB,它决定了许多代理的位置)。 在我添加了更多的动画和额外的铃声后,应用程序在大约6-30秒后崩溃,错误如下: 免费列表中的tiny_malloc_ 微小的\u空闲\u列表\u删除\u ptr

问题是,它总是发生在相同的内存地址0x1000。但是我可以在两个不同的设备上准确地复制错误,所以坏的不是内存本身

我并不期待得到一个完整的答案,但是一些我应该从哪里开始寻找的建议会非常好:)谢谢

<>编辑:我完全删除了C++库,但错误仍然存在。我会在靠近后更新


编辑:问题出在cocos2dv中。2显示添加和删除指针的统计信息。谢谢你的帮助!其中一个纹理枚举值是1,地址是这样的,我怀疑int到指针的转换在什么地方。那是什么,4096?我可能会在库中搜索一个具有该值的常量(可能通过位移位1实现,假设回溯没有立即显示问题

听起来它可能是一个nil“object”的变体,其中代码试图引用*(p+0x1000)


在这种情况下,我打开zombies和guard malloc,看看我是否能及时发现问题。

谢谢你的回答!-我在sim卡上打开guard malloc,但我不能在sim卡上打开它,只能在设备上打开。打开zombies不会给我任何信息。尽管如此,崩溃的性质不同,但都是错误的相同的内存地址。我将在lib中查找nil“object”。回溯通常只是一个步骤,每次都引用非常不同的内容。4096没有常量(或获取该数字的方法,完全没有位移位)。我正在查找int到指针的转换,但有很多行需要查看:)-谢谢你的回复!4096是页面大小。它可能是malloc库的内部常量。