Iphone随机崩溃问题
最近我的iphone项目结束了,但在应用程序运行过程中遇到了一些随机崩溃,调用堆栈总是位于COCOA库中,这是一个棘手的问题,不知道如何处理它,有些情况下我甚至怀疑这是苹果的缺陷 我的问题Iphone随机崩溃问题,iphone,random,crash,Iphone,Random,Crash,最近我的iphone项目结束了,但在应用程序运行过程中遇到了一些随机崩溃,调用堆栈总是位于COCOA库中,这是一个棘手的问题,不知道如何处理它,有些情况下我甚至怀疑这是苹果的缺陷 我的问题 对于那些复制率很低的随机崩溃问题,你们是如何处理的?有什么方法可以帮助提高再现率 如何修复位于COCOA库中的这些崩溃?如何找到更多线索 任何想法或讨论将不胜感激,提前感谢 一般来说,我并不认为这是问题所在。这种情况确实发生了,但大多数情况下都是我们的错 当这种崩溃发生时,首先要做的是运行静态分析器,有时这只
任何想法或讨论将不胜感激,提前感谢 一般来说,我并不认为这是问题所在。这种情况确实发生了,但大多数情况下都是我们的错 当这种崩溃发生时,首先要做的是运行静态分析器,有时这只是一个保留/释放问题。 如果您使用的是ARC,请跳过此部分并开始创建异常断点(在链接指南中搜索“”。异常断点有助于在引发异常时获得更详细的崩溃日志 第三步是使用仪器,查找内存浪费、泄漏和任何其他形式的内存消耗。如何使用仪器在WWDC的两个视频中有详细说明。启用NSZombie标志。 项目(在xcode的左上角)>诊断>启用僵尸对象
如果应用程序在COCOA代码中崩溃,这并不意味着COCOA代码是错误的,更可能是您向其提供了一些无效数据(例如,在不应该的地方为零)。如果它是随机发生的,则可能会出现一些多线程并发,或者某些对象过早(自动)发布,等等。您必须仔细分析与发生崩溃的COCOA类一起运行的代码,或者按照其他回答者的建议尝试内存管理调试 你的代码是什么样子的,你试过什么?当你的应用程序崩溃时,你还需要发布你在日志中得到的信息。应用程序崩溃的不一致性通常是由于内存问题造成的。。。请在仪器中分析您的代码。如何使这种随机崩溃更容易重现?由于复制是开始修复的第一步,任何有此经验的人都请分享,谢谢。不幸的是,没有通用的配方,基于您使用的API,它可以取决于您可以和无法想象的任何东西。找到随机崩溃的再现性(以及原因!)通常比修复错误更复杂。一些可能导致随机性的想法:并发线程修改相同的对象,过早自动删除对象,在事件提供程序之前释放(或未创建!)事件处理程序,等等。