Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone随机崩溃问题_Iphone_Random_Crash - Fatal编程技术网

Iphone随机崩溃问题

Iphone随机崩溃问题,iphone,random,crash,Iphone,Random,Crash,最近我的iphone项目结束了,但在应用程序运行过程中遇到了一些随机崩溃,调用堆栈总是位于COCOA库中,这是一个棘手的问题,不知道如何处理它,有些情况下我甚至怀疑这是苹果的缺陷 我的问题 对于那些复制率很低的随机崩溃问题,你们是如何处理的?有什么方法可以帮助提高再现率 如何修复位于COCOA库中的这些崩溃?如何找到更多线索 任何想法或讨论将不胜感激,提前感谢 一般来说,我并不认为这是问题所在。这种情况确实发生了,但大多数情况下都是我们的错 当这种崩溃发生时,首先要做的是运行静态分析器,有时这只

最近我的iphone项目结束了,但在应用程序运行过程中遇到了一些随机崩溃,调用堆栈总是位于COCOA库中,这是一个棘手的问题,不知道如何处理它,有些情况下我甚至怀疑这是苹果的缺陷

我的问题

  • 对于那些复制率很低的随机崩溃问题,你们是如何处理的?有什么方法可以帮助提高再现率

  • 如何修复位于COCOA库中的这些崩溃?如何找到更多线索


  • 任何想法或讨论将不胜感激,提前感谢

    一般来说,我并不认为这是问题所在。这种情况确实发生了,但大多数情况下都是我们的错

    当这种崩溃发生时,首先要做的是运行静态分析器,有时这只是一个保留/释放问题。 如果您使用的是ARC,请跳过此部分并开始创建异常断点(在链接指南中搜索“”。异常断点有助于在引发异常时获得更详细的崩溃日志

    第三步是使用仪器,查找内存浪费、泄漏和任何其他形式的内存消耗。如何使用仪器在WWDC的两个视频中有详细说明。

    启用NSZombie标志。 项目(在xcode的左上角)>诊断>启用僵尸对象


    如果应用程序在COCOA代码中崩溃,这并不意味着COCOA代码是错误的,更可能是您向其提供了一些无效数据(例如,在不应该的地方为零)。如果它是随机发生的,则可能会出现一些多线程并发,或者某些对象过早(自动)发布,等等。您必须仔细分析与发生崩溃的COCOA类一起运行的代码,或者按照其他回答者的建议尝试内存管理调试

    你的代码是什么样子的,你试过什么?当你的应用程序崩溃时,你还需要发布你在日志中得到的信息。应用程序崩溃的不一致性通常是由于内存问题造成的。。。请在仪器中分析您的代码。如何使这种随机崩溃更容易重现?由于复制是开始修复的第一步,任何有此经验的人都请分享,谢谢。不幸的是,没有通用的配方,基于您使用的API,它可以取决于您可以和无法想象的任何东西。找到随机崩溃的再现性(以及原因!)通常比修复错误更复杂。一些可能导致随机性的想法:并发线程修改相同的对象,过早自动删除对象,在事件提供程序之前释放(或未创建!)事件处理程序,等等。