Search code examples
iphonexcode4crash-reports

iPhone crash report - atos can't get symbol


I received a crash report from a user saying the application crashes when it starts.
I drag the crash report to Xcode 4 and received below information (this is an extract),
but Xcode 4 doesn't symbolicate line 10, 24, 25 which I really want to see.

I use atos command:

atos -arch armv6 -o 'MyApp.app'/'MyApp' 0x0000449b

but all it shows is:
0x0000449b (in MyApp) + 64

Do you have any idea how can I read the symbols in line 10, 24, 25?

Incident Identifier: 5142E671-BD08-483A-AAF2-F7D680BE0267
CrashReporter Key:   481fe1c162975f8367127b52824e30d33ffaa014
Hardware Model:      iPhone4,1
Process:         MyApp [2463]
Path:            /var/mobile/Applications/79DE9C42-332C-4243-B637-9DCF6AC4EC35/MyApp.app/MyApp
Identifier:      MyApp
Version:         ??? (???)
Code Type:       ARM (Native)
Parent Process:  launchd [1]

Date/Time:       2012-07-04 11:37:39.362 -0600
OS Version:      iPhone OS 5.1.1 (9B206)
Report Version:  104

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x00000000, 0x00000000
Crashed Thread:  0

Last Exception Backtrace:
0   CoreFoundation                  0x353a188f __exceptionPreprocess + 163
1   libobjc.A.dylib                 0x37748259 objc_exception_throw + 33
2   CoreFoundation                  0x353a4a9b -[NSObject doesNotRecognizeSelector:] + 175
3   CoreFoundation                  0x353a3915 ___forwarding___ + 301
4   CoreFoundation                  0x352fe650 _CF_forwarding_prep_0 + 48
5   Foundation                      0x34eaf4ff __57-[NSNotificationCenter addObserver:selector:name:object:]_block_invoke_0 + 19
6   CoreFoundation                  0x3536d547 ___CFXNotificationPost_block_invoke_0 + 71
7   CoreFoundation                  0x352f9097 _CFXNotificationPost + 1407
8   Foundation                      0x34e233eb -[NSNotificationCenter postNotificationName:object:userInfo:] + 67
9   Foundation                      0x34e24c1b -[NSNotificationCenter postNotificationName:object:] + 31
10  MyApp                       0x0000449b 0x1000 + 13467
11  UIKit                           0x32e19c31 -[UIApplication _stopDeactivatingForReason:] + 189
12  UIKit                           0x32eb1381 -[UIApplication _handleApplicationResumeEvent:] + 1141
13  UIKit                           0x32dd5b03 -[UIApplication handleEvent:withNewEvent:] + 1075
14  UIKit                           0x32dd5567 -[UIApplication sendEvent:] + 55
15  UIKit                           0x32dd4f3b _UIApplicationHandleEvent + 5827
16  GraphicsServices                0x36f9422b PurpleEventCallback + 883
17  CoreFoundation                  0x35375523 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 39
18  CoreFoundation                  0x353754c5 __CFRunLoopDoSource1 + 141
19  CoreFoundation                  0x35374313 __CFRunLoopRun + 1371
20  CoreFoundation                  0x352f74a5 CFRunLoopRunSpecific + 301
21  CoreFoundation                  0x352f736d CFRunLoopRunInMode + 105
22  GraphicsServices                0x36f93439 GSEventRunModal + 137
23  UIKit                           0x32e03cd5 UIApplicationMain + 1081
24  MyApp                       0x00004b27 0x1000 + 15143
25  MyApp                       0x00003cd0 0x1000 + 11472

Solution

  • I didn't find the answer on how to read memory addresses in my crash log.

    But I have figured out how to fix the bug:
    - this crash shows that it's caused by Local Notification
    - [NSObject doesNotRecognizeSelector:] is raised

    So I search for all Local Notifications in the project, and find the corresponding selector for each observer one of the selector is not implemented. That's why I received
    -[NSObject doesNotRecognizeSelector:
    and the app crashed.

    Implement the missing selector fixed the problem.