2

アプリケーションが起動するとクラッシュするというクラッシュレポートをユーザーから受け取りました。
クラッシュレポートをXcode4にドラッグし、以下の情報を受け取りました(これは抜粋です)
が、 Xcode 4は、私が本当に見たい10、24、25行目を象徴していません。

私はatosコマンドを使用します:

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

ただし、表示されるのは
0x0000449b(MyApp内)+64だけです。

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
4

1 に答える 1

1

クラッシュログでメモリアドレスを読み取る方法についての答えが見つかりませんでした。

しかし、私はバグを修正する方法を理解しました:
-このクラッシュは、ローカル通知が原因であることを示しています
-[NSObject doesNotRecognizeSelector:]が発生します

そのため、プロジェクト内のすべてのローカル通知を検索し、各オブザーバーに対応するセレクターを見つけました 。セレクターの1つは実装されていません。そのため、受け取っ てアプリがクラッシュしました。
-[NSObject doesNotRecognizeSelector:

欠落しているセレクターを実装すると、問題が修正されました。

于 2012-07-18T22:26:10.163 に答える