我们应用程序的用户向我发送了以下崩溃日志(已经符号化):
Incident Identifier: 59D4D5E7-570A-4047-A679-3016B2A226C4
CrashReporter Key: d8284d671ee22ad17511360ce73409ebfa8b84bb
Process: .... [63]
Path: /var/mobile/Applications/....
Identifier: ...
Version: ??? (???)
Code Type: ARM (Native)
Parent Process: launchd [1]
Date/Time: 2010-03-08 17:00:15.437 -0800
OS Version: iPhone OS 2.2.1 (5H11a)
Report Version: 103
Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x00000001, 0xe7ffdefe
Crashed Thread: 0
Thread 0 Crashed:
0 dyld 0x2fe01060 dyld_fatal_error + 0
1 dyld 0x2fe088d4 dyld::_main(mach_header
const*, unsigned long, int, char const**, char const**, char const**)
+ 3064
2 dyld 0x2fe0196c
dyldbootstrap::start(mach_header const*, int, char const**, long) +
884
3 dyld 0x2fe01048 _dyld_start + 32
Thread 0 crashed with ARM Thread State:
r0: 0x2fe23ca0 r1: 0x00000000 r2: 0x2fe23ca0 r3:
0x00000000
r4: 0x2ffff4e0 r5: 0x2ffff4bc r6: 0x2fe005c0 r7:
0x2ffffb00
r8: 0x00000004 r9: 0x2fe57cf0 r10: 0x2fe236c8 r11:
0x00000009
ip: 0x0000018d sp: 0x2ffff5b8 lr: 0x2fe088dc pc:
0x2fe01060
cpsr: 0x00000010
Binary Images:
0x2fe00000 - 0x2fe22fff dyld ??? (???)
<f6a50d5f57a676b54276d0ecef46d5f0> /usr/lib/dyld
我的应用程序使用 OpenFeint 和 PinchMedia 分析。对于 PinchMedia,我使用他们提供的 .a 文件进行链接,对于 OpenFeint,我正在编译他们的代码(根据他们的指南)。我链接的框架/库是:
- UIKit.framework(弱)
- MapKit.framework(弱)
- 基础框架
- CoreGraphics.framework
- OpenAL.framework
- AudioToolbox.framework
- libsqlite3
- SystemConfiguration.framework
- CoreLocation.framework
- 捏媒体分析
- 安全框架
- QuartzCore.framework
- CFNetwork.framework
我的基础 SDK 是 iPhone 3.0,我的基础操作系统部署目标是 2.2.1。
有两点我觉得很奇怪:
- 甚至在调用 main 方法之前,应用程序就崩溃了。
- 崩溃日志看起来与此处发布的完全一样:Objective-C iPhone App EXC_BREAKPOINT (SIGTRAP)
向我发送此崩溃的用户正在使用带有 OS 2.2.1 的第二代 iPod Touch。我无法重现该问题,但根据 iTunes 中的评论,似乎更多人遇到了同样的问题。