我的iphone应用程序在设备上运行时发出警告......
Application 'xxxxxx' exited abnormally with signal 11: Segmentation fault: 11.
然而,当我启用了断点和调试模式时,它在模拟器和设备上都没有崩溃(在simultor和设备上调试时我都启用了nszombies和mallocstacklogging nocompact变量)。如何调试这个问题?
附加崩溃日志
Date/Time: 2012-02-27 18:04:36.176 +0530
OS Version: iPhone OS 5.0.1 (9A405)
Report Version: 104
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0xf6496811
Crashed Thread: 5
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0:
0 libicucore.A.dylib 0x355625a8 icu::Locale::getRoot() + 28
1 libicucore.A.dylib 0x3554846c ures_getStringByKeyWithFallback + 36
2 libicucore.A.dylib 0x355f8442 icu::NumberingSystem::createInstance(icu::Locale const&, UErrorCode&) + 110
3 libicucore.A.dylib 0x35548c52 icu::DecimalFormatSymbols::initialize(icu::Locale const&, UErrorCode&, signed char) + 130
4 libicucore.A.dylib 0x355f7452 icu::NumberFormat::makeInstance(icu::Locale const&, UNumberFormatStyle, UErrorCode&) + 162
5 libicucore.A.dylib 0x35548738 unum_open + 504
6 CoreFoundation 0x33fa3228 0x33f5e000 + 283176
7 Foundation 0x32f49db0 0x32f1a000 + 196016
8 Myapp 0x00159bea +[UtilityFunctions convertStringToCurrency:] (UtilityFunctions.m:71)
9 Myapp 0x00159f08 +[UtilityFunctions convertStringToCurrencyWithZeroFloat:] (UtilityFunctions.m:123)
10 Myapp 0x000b8f7a -[MainScreenViewController getValueForTextFieldWithName:] (MainScreenViewController.m:768)
11 Myapp 0x000b78f4 -[MainScreenViewController tableView:cellForRowAtIndexPath:] (MainScreenViewController.m:497)
12 UIKit 0x371f59c4 0x37192000 + 408004
13 UIKit 0x371f4aa2 0x37192000 + 404130
14 UIKit 0x371f422c 0x37192000 + 401964
15 UIKit 0x37198d44 0x37192000 + 27972
16 CoreFoundation 0x33f76224 0x33f5e000 + 98852
17 QuartzCore 0x32c8037a 0x32c7a000 + 25466
18 QuartzCore 0x32c7ff92 0x32c7a000 + 24466
19 QuartzCore 0x32c84114 0x32c7a000 + 41236
20 QuartzCore 0x32c83e50 0x32c7a000 + 40528
21 QuartzCore 0x32c7bd7e 0x32c7a000 + 7550
22 CoreFoundation 0x33febb44 0x33f5e000 + 580420
23 CoreFoundation 0x33fe9d80 0x33f5e000 + 572800
24 CoreFoundation 0x33fea0da 0x33f5e000 + 573658
25 CoreFoundation 0x33f6d4d6 0x33f5e000 + 62678
26 CoreFoundation 0x33f6d39e 0x33f5e000 + 62366
27 GraphicsServices 0x323c2fc6 0x323bf000 + 16326
28 UIKit 0x371c373c 0x37192000 + 202556
29 Myapp 0x000b1412 main (main.m:14)
30 Myapp 0x000b13d0 start + 32
Thread 1 name: Dispatch queue: com.apple.libdispatch-manager
Thread 1:
0 libsystem_kernel.dylib 0x376323b4 0x37631000 + 5044
1 libdispatch.dylib 0x36894e78 0x36888000 + 52856
2 libdispatch.dylib 0x36894b96 0x36888000 + 52118
Thread 2:
0 libsystem_kernel.dylib 0x37642cd4 0x37631000 + 72916
1 libsystem_c.dylib 0x3651630a 0x3650c000 + 41738
2 libsystem_c.dylib 0x3651609c 0x3650c000 + 41116
Thread 3:
0 libsystem_kernel.dylib 0x37642cd4 0x37631000 + 72916
1 libsystem_c.dylib 0x3651630a 0x3650c000 + 41738
2 libsystem_c.dylib 0x3651609c 0x3650c000 + 41116
Thread 4 name: WebThread
Thread 4:
0 libsystem_kernel.dylib 0x376420d8 0x37631000 + 69848
1 libsystem_c.dylib 0x3650ec44 0x3650c000 + 11332
2 WebCore 0x3499a36c 0x34994000 + 25452
3 WebCore 0x3499a670 0x34994000 + 26224
4 CoreFoundation 0x33febb44 0x33f5e000 + 580420
5 CoreFoundation 0x33fe9d80 0x33f5e000 + 572800
6 CoreFoundation 0x33fea19a 0x33f5e000 + 573850
7 CoreFoundation 0x33f6d4d6 0x33f5e000 + 62678
8 CoreFoundation 0x33f6d39e 0x33f5e000 + 62366
9 WebCore 0x34a3c128 0x34994000 + 688424
10 libsystem_c.dylib 0x3651bc16 0x3650c000 + 64534
11 libsystem_c.dylib 0x3651bad0 0x3650c000 + 64208
Thread 5 Crashed:
0 libobjc.A.dylib 0x32033fbc 0x32030000 + 16316
1 Myapp 0x00158684 -[SellingCostsVC dealloc] (SellingCostsVC.m:1639)
2 libobjc.A.dylib 0x320350be 0x32030000 + 20670
3 libobjc.A.dylib 0x32036db0 0x32030000 + 28080
4 libobjc.A.dylib 0x32035e06 0x32030000 + 24070
5 libobjc.A.dylib 0x32035d22 0x32030000 + 23842
6 CoreFoundation 0x33f67e88 0x33f5e000 + 40584
7 Foundation 0x32f1dc58 0x32f1a000 + 15448
8 Myapp 0x000bb6f8 -[MainScreenViewController calculateValues] (MainScreenViewController.m:1204)
9 Foundation 0x32f2aa8a 0x32f1a000 + 68234
10 Foundation 0x32fbe59a 0x32f1a000 + 673178
11 libsystem_c.dylib 0x3651bc16 0x3650c000 + 64534
12 libsystem_c.dylib 0x3651bad0 0x3650c000 + 64208
Thread 5 crashed with ARM Thread State:
r0: 0x000f0000 r1: 0x3846b09c r2: 0x00000001 r3: 0x00000000
r4: 0xf6496809 r5: 0x02b04048 r6: 0x02b04048 r7: 0x02b0360c
r8: 0x0d270028 r9: 0x0e11ac27 r10: 0x0d270028 r11: 0xa3a3a3a3
ip: 0x3f576454 sp: 0x02b0359c lr: 0x0015868b pc: 0x32033fbc
cpsr: 0x20000030
答案 0 :(得分:1)
崩溃日志为您提供有关它变坏的地方的行号;您可以使用NSLog进行“printf debugging”来缩小范围。这位博客作者解释了如何在硬件上运行时使NSLog变得有用: http://objcolumnist.com/2009/12/19/redirecting-nslog-to-a-log-file/
编辑:实际上,通过我链接的提示,您也可以使用实际的printf进行printf调试。