首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS应用程序在相同的内存地址获取EXC_BAD_ACCESS,但原因不同

iOS应用程序在相同的内存地址获取EXC_BAD_ACCESS,但原因不同
EN

Stack Overflow用户
提问于 2012-07-11 15:24:49
回答 2查看 669关注 0票数 0

我正在构建一个iOS应用程序。它使用了一个C++库,它与cocos2d游戏一起运行(群组模拟库,它确定了许多智能体的位置)。

在我添加了更多的动画和额外的铃声和口哨后,应用程序在大约6-30秒后崩溃,错误如下: tiny_malloc_from_free_list tiny_free_list_remove_ptr

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

我并不期待一个完整的答案,但一些我应该从哪里开始寻找的指针将是非常好的:)谢谢!

编辑:我完全删除了c++库,但错误仍然存在。一旦我接近了,我会更新的。

编辑:问题出在Cocos2d v.2的显示统计信息中,添加和删除指针。谢谢你的帮助!其中一个纹理枚举是1<<12,它被用作指针...我不再使用显示数据了。:)谢谢大家!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-11 15:34:21

假设您的回溯跟踪没有立即显示问题...

听起来它可能是一个nil "object",代码试图引用*(p + 0x1000)。请注意,0x1000可能是VM页面大小。

在这样的情况下,我打开僵尸并保护malloc,看看是否能在问题发生时发现它。

票数 1
EN

Stack Overflow用户

发布于 2012-07-11 15:34:01

有了这样的地址,我会怀疑在某个地方会有int到指针的转换。那是多少,4096?我可能会在库中搜索具有该值的常量(可能是通过位移位1<<12实现的),并查看是否可以以奇怪的方式找到使用该常量的代码。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11427608

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档