0

关于 iOS 中的崩溃报告以及如何调试崩溃有很多线程,但我想我也会在这里发布我的帖子,因为我还没有阅读过专门针对我的案例有帮助的帖子。大约一周前,我将我的应用程序发布到 AppStore,我从少数人那里听说他们的应用程序崩溃了。我不能亲自在他们的应用程序上复制崩溃(他们也不能) - 尽管它似乎是当用户在一段时间没有玩游戏后返回游戏时(他们无法确认他们是否通过双击主页退出应用程序按钮与否,不过)。

因此,在我试图解决这个问题的过程中,我在手机和模拟器上运行了游戏,但我根本无法复制它——这使得问题更难解决。我想我会发布崩溃报告的相关部分,看看是否有人能理解它!

Incident Identifier: 52C3B61C-D05A-4F2D-91A0-0192A668FCBC   
Hardware Model:      iPhone2,1  
Process:         Transfer Quiz [2474]    
Path:            /var/mobile/Applications/6BC39FBB-59F3-45A7-BD94-449914CFFFA8/Transfer      Quiz.app/Transfer Quiz 
Identifier:      Transfer Quiz  
Version:         ??? (???)  
Code Type:       ARM (Native)   
Parent Process:  launchd [1]    

Date/Time:       2012-08-29 16:49:03.080 +0100  
OS Version:      iPhone OS 5.1.1 (9B206)    
Report Version:  104    

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)   
Exception Codes: KERN_INVALID_ADDRESS at 0xc01236f2 
Crashed Thread:  0  

Thread 0 name:  Dispatch queue: com.apple.main-thread   
Thread 0 Crashed:   
0   libobjc.A.dylib                 0x374faf7e objc_msgSend + 22
1   Transfer Quiz                   0x000023c4 0x000013c4
2   Transfer Quiz                   0x0000230c 0x0000130c
3   libdispatch.dylib               0x359dac52 _dispatch_call_block_and_release
4   libdispatch.dylib               0x359e5e8a _dispatch_main_queue_callback_4CF$VARIANT$up
5   CoreFoundation                  0x311952a6 __CFRunLoopRun + 1262
6   CoreFoundation                  0x3111849e CFRunLoopRunSpecific
7   CoreFoundation                  0x31118366 CFRunLoopRunInMode
8   GraphicsServices                0x33192432 GSEventRunModal
9   UIKit                           0x3087bcce UIApplicationMain
10  Transfer Quiz                   0x000030d4 0x000020d4
11  Transfer Quiz                   0x000021a8 0x000011a8

我在我的项目中使用 ARC,这个问题似乎与旧设备 (3GS) 更相关,而不是新型号,这让事情变得更有趣。

如果有人有任何建议,我很想听听他们的意见。

PS - 我也在 Xcode 中启用了 NSZombies,但没有找到任何东西(可能是因为我无法复制崩溃!) - 我也找不到任何内存泄漏。

谢谢,

安迪。

4

1 回答 1

0

这可能与您的应用程序在另一个应用程序运行时从内存中清除有关。这也可以解释为什么它在旧设备上更频繁地发生。

将日志消息放入您的didReceiveMemoryWarning委托方法中,它们可能会作为最后一行出现在您的崩溃日志中。

于 2013-12-09T17:50:08.170 回答