iOS 应用程序因未知原因崩溃

Posted

技术标签:

【中文标题】iOS 应用程序因未知原因崩溃【英文标题】:iOS app crashing for unknown reasons 【发布时间】:2013-04-09 13:51:11 【问题描述】:

我正在使用最新版本的 XCode 并为 ios 6.0 及更高版本构建。以下是我得到的崩溃日志。它似乎根本没有帮助。我唯一注意到的是,对于我的应用程序,它说“[per-process-limit]”。这意味着什么吗?还有什么可能导致这次崩溃?如果这很重要,我正在使用 ARC。谢谢

Incident Identifier: B3FF81F3-FE14-46B2-A4C6-0931917D87C0
CrashReporter Key:   e64be3b78430ea913edf711ceb553d83ad760b10
Hardware Model:      iPhone5,1
OS Version:          iPhone OS 6.1.3 (10B329)
Kernel Version:      Darwin Kernel Version 13.0.0: Wed Feb 13 21:40:10 PST 2013; root:xnu-2107.7.55.2.2~1/RELEASE_ARM_S5L8950X
Date:                2013-04-16 18:57:49 -0400
Time since snapshot: 952 ms

Free pages:        1490
Active pages:      15836
Inactive pages:    7532
Throttled pages:   68031
Purgeable pages:   48
Wired pages:       165666
Largest process:   Stevens Book Tra

Processes
 Name                    <UUID>                       rpages       recent_max       [reason]          (state)

       timed <13d1143a8d7433cdbec64d4279aee1fe>          445              445         [vm]         (daemon) (idle)
   Bejeweled <ac11f9265d6634cc8ccb70757a223325>        14984            14984         [vm]         (suspended)
    AppStore <ffde258b8ad532398989bdd281fac800>        17866            17866         [vm]         (suspended)
         lsd <fe3afa7c718c30e591f1324f09d08c4f>          631              631                      (daemon) (idle)
       gamed <7954b1514d88384ca3f1f506b29d0812>         1510             1510                      (daemon) (idle)
    installd <4da1ba8fb7cd3c6690edf3e2a3c24269>          447              447                      (daemon) (idle)
webbookmarksd <d241794687e23138a14c7a5ad4371181>          651              651                      (daemon) (idle)
itunesstored <be14ada6a4d836f0aac6cf104f600c64>         2325             2325                      (daemon) (idle)
networkd_privile <20292830d8d53949b82495c145d0a379>          131              131                      (daemon) (idle)
softwareupdatese <1e626439b28f3e778f6a90c15b355c5d>          559              559                      (daemon) (idle)
   accountsd <6255c4bbbe953cc990fbeb8bc8d3ba86>         1141             1141                      (daemon) (idle)
  MobileMail <aed39adc22ee334c90bca672f578f1c0>         8775             8775                      (continuous)
   MobileSMS <afeef1d46f00323395b58b14f8803a82>         1726             1726                      (background)
 MobilePhone <872761e082c831a8a9090c8660347d5a>         1736             1736                      (resume) (continuous)
        tccd <e6dbe43518593da19ff55a9f3f15b3de>          325              325                      (daemon)
         kbd <47657f4dd979300a840367905786eccc>          782              782                      (daemon)
My App <29f36b70932433febcb1123b2b6c534b>       151118           151118  [per-process-limit] (frontmost) (resume)
     Pandora <6596910eed9532aca40f1ee3d6558334>         8775             8775                      (audio) (background)
     syslogd <42cd10099569364f811f66ad6f6dea46>          177              177                      (daemon)
   locationd <2d8cb2921fb538d4bb4aed62af98b4d2>         1988             1988                      (daemon)
mediaserverd <221fa80d17503fc7aa86f1041bdcc0be>         2189             2189                      (daemon)
       wifid <71a35a9968a4358a8569e6de843ad1aa>          859              859                      (daemon)
  calaccessd <d4096f0836003ac8a5ef4cea07e382d1>          730              730                      (daemon)
 dataaccessd <7b294c10f04f36af8086f4ccb5606fae>         1778             1778                      (daemon)
  aosnotifyd <44b37f0df5c932e39b30230611981071>          737              737                      (daemon)
iaptransportd <30bda0eeebb73681939e4223845ff0de>          378              378                      (daemon)
 SpringBoard <b0713272db793942ac49d8d3c84c2c2e>        11389            11389                     
  backboardd <d9997ef1b2bc3015862615abf37ebb1b>         5874             5874                      (daemon)
 UserEventAgent <d19ebe160ed536c8b18c89f066b758a6>          943              943                      (daemon)
   securityd <eda98353705c34578e9b09867d3c96f6>          269              269                      (daemon)
    sandboxd <bbb7e05047a937159530525e2657928a>          277              277                      (daemon)
syncdefaultsd <9c9a6da6f6993bb2be6ba01b851dc3e9>          698              698                      (daemon)
 mediaremoted <0279c54f0b2d30f6866036eea881cce1>          412              412                      (daemon)
    recentsd <99746b2acfdc3654881ad4fc961e2c89>          925              925                      (daemon)
   absinthed <a0bbaeb03c47300a9d5a7f6ce6468aab>          175              175                      (daemon)
    SCHelper <1ba907829bfa3e479f071e61c531331f>          227              227                      (daemon)
filecoordination <44b0075fbc5b3af5b403fc3bcb6603b0>          350              350                      (daemon)
   distnoted <4b2b2984057b3df2a7e5c7d1d79a099b>          239              239                      (daemon)
        apsd <9ba45b14c44d340da1c3a41f28b46f65>          578              578                      (daemon)
    networkd <26c89c34e3e031fdb46bea7bed9df0ff>          324              324                      (daemon)
  aggregated <a2d209b4577a3697a10c288fd542e501>          126              126                      (daemon)
   fseventsd <b148ac55dd67325e822695755023a16e>          336              336                      (daemon)
    BTServer <e6eb89b2fe7b3b219a2d90e6735b166d>          424              424                      (daemon)
     imagent <e61401f9f6303ae189c517add142b837>          839              839                      (daemon)
fairplayd.N41 <7d6161c8bf4633f7b62b9dbbd78ff990>          388              388                      (daemon)
     configd <d2cd8bc6ed643fa69392c80fc416cd8b>          795              795                      (daemon)
   lockdownd <f960236277c33ac78488eeea78661347>          333              333                      (daemon)
      powerd <fde6e83ab5f63bfeb5313e4cd86b25cc>          276              276                      (daemon)
mDNSResponder <b9aedd3c47f43627af9b55c3d0844f16>          479              479                      (daemon)
  CommCenter <3fbedab9761b3733a3fc0cd58ab00055>         1702             1702                      (daemon)
     notifyd <bbd1f04dd7163c93bc9eb6e5a7b14ab7>          231              231                      (daemon)
 ReportCrash <3f296f612faa36d687fb3bb40a4648eb>          355              355                      (daemon)

**End**

【问题讨论】:

【参考方案1】:

嗯,MyApp 有 151118 个常驻内存页面,大约是 590 MB(iOS 下的一个页面是 4 KB)。所以内存太多了。尝试使用 Instruments 中的分配工具运行,看看你的内存去了哪里。

编辑,实际回答问题:系统正在杀死您的应用程序,因为它使用了太多内存。要修复崩溃,您需要减少内存使用量(在这种情况下非常显着)。我怀疑您有一个导致内存使用量激增的错误,因为根据您发布的日志,您的应用真正需要的内存不太可能与它明显使用的内存一样多。

【讨论】:

我怀疑很可能是这种情况,但我不确定如何减少这种足迹。我以为ARC应该为我处理所有这些?我会研究分配工具谢谢 ARC 为您处理了很多事情,但仍有可能不小心吃掉大量内存。寻找在循环内分配大(或许多)对象的“紧密循环”,例如for (whatever) [self loadABigImageIntoMemory]; 这是一个相当常见的罪魁祸首。 @user132490 也要注意保留周期。在 Xcode 中,运行 Product->Analyze 菜单。 @AaronGolden 嗯,这让我相信问题很可能是我正在做的图像加载到 tableview 中。对于每个单元格,我下载一张图片(在背景中)并在下载后立即填写。我将如何减少这种足迹? @user132490 实际上,如果您要异步下载数据,我怀疑您是否像我发布的那样在 sn-p 中构建了太多自动释放的对象。如果没有程序的具体细节,真的很难说问题可能是什么或如何解决它。试试 Instruments 中的分配工具(在 Xcode 中使用 Products->Analyze 菜单,并在 Instruments 出现时选择分配)。我可能不应该鼓励你在你的代码中寻找任何特别的东西——没有必要推测我们什么时候可以测量!

以上是关于iOS 应用程序因未知原因崩溃的主要内容,如果未能解决你的问题,请参考以下文章

Flutter ios 构建失败 - Distill 因未知原因而失败

iOS Objective-C 应用程序因异常原因崩溃

Play 项目中的简单 SBT 模块导致 Play 因未知原因而崩溃 - play 2.1

iOS 应用程序因终止原因而崩溃:命名空间 SPRINGBOARD,代码 0x8badf00d

iOS 实例变量因未知原因被“NULLED”

UIGesture 在 IOS 中因未知原因失败