Iphone XCode构建:相同的配置表现不同

Iphone XCode构建:相同的配置表现不同,iphone,xcode,debugging,exc-bad-access,Iphone,Xcode,Debugging,Exc Bad Access,我有一个非常奇怪的问题: 在我的3.1.3版iPhone 3G上以活动配置运行我的应用程序时,我遇到了崩溃(EXC_BAD_ACCESS)。(在调试配置或模拟器中运行良好,在运行iOS4的设备上运行良好) 我的第一个猜测是发布配置中的一个设置错误/缺失。为了测试它,我只是复制了我的调试配置,令人惊讶的是,我得到了相同的错误(尽管配置只是一个工作配置的副本) 我不明白为什么,对于本应相同的配置,一个在工作,而另一个不工作 如果有人想启发我,我就把头撞在墙上 多谢各位 注意:基本SDK是4.0,部署

我有一个非常奇怪的问题:

在我的3.1.3版iPhone 3G上以活动配置运行我的应用程序时,我遇到了崩溃(EXC_BAD_ACCESS)。(在调试配置或模拟器中运行良好,在运行iOS4的设备上运行良好)

我的第一个猜测是发布配置中的一个设置错误/缺失。为了测试它,我只是复制了我的调试配置,令人惊讶的是,我得到了相同的错误(尽管配置只是一个工作配置的副本)

我不明白为什么,对于本应相同的配置,一个在工作,而另一个不工作

如果有人想启发我,我就把头撞在墙上

多谢各位


注意:基本SDK是4.0,部署目标是3.0。也许您有一个未分配的局部变量。Object-C遵循C是如何做到这一点的。因此,在发布版本中,您不能假设任何局部变量在调试时被初始化为0(在这种情况下,我猜是指针)

编辑:
将-Wuninitialized传递给编译器(或更好的-Wall),以便编译器在这些注意事项上发出警告。只有当optimizer打开时,才有效。

您应该检查内存泄漏和内存警告的处理情况。内存量可能是您引用的环境之间最大的差异

在另一个场景中,我曾经发现模拟器速度更快,因此某个特定的比赛条件没有出现,这确实出现在设备上。这是您引用的环境中的第二个区别:速度

试着找出你的车祸并从那里调查。NSLog所有人都收到了记忆警告。寻找你做出假设的地方,例如关于静态信息。

我解决了这个问题

这是图书馆的错误。我已经更新了支持iOS 4的主分支,但不幸的是这破坏了对3.1.3的支持。(显然没有记录的东西)

无论如何,我发现这有助于我发现问题。我只需要申请,然后我就可以在3.1.3设备和iOS4设备上运行我的项目

奇怪的事情:为什么在初始化UIActionSheet时它会崩溃(在一行与Three20 lib完全无关的代码上)


谢谢您的帮助。

不要要求我启用NSZombie,它没有帮助。ThxThx。我已经手动检查过了,但是有一种方法可以自动执行我只是重新编译了-Wuninitialized并发现了一个未初始化的局部变量。然而,这并没有解决我的问题。无论如何,我的应用程序在运行iOS4的设备上的发布模式下运行良好。我只在iOS 3.1.3(发布模式)上看到这个崩溃,谢谢你