2015年1月16日金曜日

crashレポートのシンボル化についてのメモ

Xcode 6では、crashしたアプリをArchiveしたものがOrganizerに残っていれば、Organizerでシンボル化できる。

同じソースでも再度ビルドしたものではダメなので、AppStoreに送ったものはOrganizerから削除しないようにしておく。

・MacにiOSデバイスを接続
・XcodeのWindows > Devicesを開き、接続したデバイスを選択
・View Device Logをクリック
・All Logsをクリック
・左ペインに.crashファイルをドラック&ドロップ
・追加されたファイルを選択
.crashファイルに対応するバイナリ、dSYMがあればシンボル化される

-- シンボル化前 --
Last Exception Backtrace:

(0x184e8a59c 0x195af00e4 0x184e8a4dc 0x184d7534c 0x184d752d0 0x10007b174 0x100081568 0x10007a114 0x18963caa0 0x18963c7b0 0x1897df704 0x1896f0f4c 0x1896f0d18 0x1896f0c98 0x189639648 0x188f91994 0x188f8c564 0x188f8c408 0x188f8bc08 0x188f8b98c 0x188f853bc 0x184e42a50 0x184e3f9dc 0x184e3fdbc 0x184d6d0a4 0x18defb5a4 0x1896a23c0 0x100067b94 0x19615ea08)

-- シンボル化後 --
Last Exception Backtrace:
0   CoreFoundation                 0x184e8a59c __exceptionPreprocess + 132
1   libobjc.A.dylib               0x195af00e4 objc_exception_throw + 60
2   CoreFoundation                 0x184e8a4dc +[NSException raise:format:] + 128
3   CoreFoundation                 0x184d7534c -[__NSCFNumber compare:] + 96
4   CoreFoundation                 0x184d752d0 -[__NSCFNumber isEqualToNumber:] + 32
5   MyApp                          0x10009f174 -[ViewController method3] (ViewController.m:432)
6   MyApp                          0x1000a4638 -[ViewController method2:] (ViewController.m:1286)
7   MyApp                          0x1000a394c -[ViewController method1:] (NLPlayViewController.m:1151)
8   Foundation                     0x185d5ee18 __NSFireTimer + 92
9   CoreFoundation                 0x184e428d8 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 28
10  CoreFoundation                 0x184e42588 __CFRunLoopDoTimer + 888
11  CoreFoundation                 0x184e3ffd4 __CFRunLoopRun + 1372
12  CoreFoundation                 0x184d6d0a4 CFRunLoopRunSpecific + 396
13  GraphicsServices               0x18defb5a4 GSEventRunModal + 168
14  UIKit                         0x1896a23c0 UIApplicationMain + 1488
15  MyApp                         0x10008bb94 main (main.m:16)
16  libdyld.dylib                 0x19615ea08 start + 4