关于 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,但没有找到任何东西(可能是因为我无法复制崩溃!) - 我也找不到任何内存泄漏。
谢谢,
安迪。