5

App Store ユーザーから送信されたクラッシュ ログを Xcode 7 でシンボル表示することができませんでした。必要な dSYM をすべて持っているにもかかわらず、手動でシンボル表示しようとすると失敗します。

クラッシュ ログの抜粋:

Exception Type: EXC_BREAKPOINT (SIGTRAP) 
Exception Codes: 0x0000000000000001, 0x0000000100fa990c 
Triggered by Thread: 0

Filtered syslog: 
None found

Thread 0 name: Dispatch queue: com.apple.main-thread 
Thread 0 Crashed: 
0 libswiftCore.dylib 0x0000000100fa990c 0x100e64000 + 1333516 
1 libswiftCore.dylib 0x0000000100fa990c 0x100e64000 + 1333516 
2 MyApp 0x00000001002cdc50 0x1000a4000 + 2268240 

...

Binary Images: 
0x1000a4000 - 0x10079ffff MyApp arm64 <29a862b975b335ae91c2615c775e064f> /var/mobile/Containers/Bundle/Application/CC9E1FB1-22BB-4723-B28A-95EBE21522A1/MyApp.app/MyApp 

私のアプリでは Bitcode が有効になっているため、Xcode > Organizer > Archives から dSYM をダウンロードしました。次に、App Store に送信されたビルドのアーカイブ内に実際に存在することを確認し29A862B9-75B3-35AE-91C2-615C775E064F.dSYMました (ユーザーがクラッシュしたときに実行していたのと同じビルド)。

次に、クラッシュ ログを手動でシンボル表示するために、ターミナルで次のコマンドを実行しました。

$ export DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer"
$ /Applications/Xcode.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/Current/Resources/symbolicatecrash -v ~/Desktop/CrashOnLaunchLogFromUser.crash  > ~/Desktop/Symbolicated.crash

その後、処理が完了するのを待ちましたが、結果のシンボリック化されたファイルでは、シンボルが置換されていませんでした。出力を見ると、アプリのバイナリに関連する次の情報が表示されました。

Symbolicating...

....fetching symbol file for MyApp--[undef]
Searching []...-- NO MATCH
Searching in Spotlight for dsym with UUID of 29a862b975b335ae91c2615c775e064f
Running mdfind "com_apple_xcode_dsym_uuids == 29A862B9-75B3-35AE-91C2-615C775E064F"
Running mdls -name com_apple_xcode_dsym_paths ...

... Lots of paths including those to all dSYMs from the correct archive that spotlight found
... I can also see that it finds the correct MyApp.app file from the archive as well

## /Users/Sencha/Library/Developer/Xcode/DerivedData/MyApp-byivrddxclcridbtblvodrqymqwv/Build/Products/Debug-iphoneos/MyApp.app/MyApp doesn't contain arm64 slice
UUID of executable is: 29a862b975b335ae91c2615c775e064f
Executable name: /Users/Sencha/Library/Developer/Xcode/DerivedData/MyApp-byivrddxclcridbtblvodrqymqwv/Build/Products/Debug-iphoneos/MyApp.app/MyApp

UUID doesn't match dsym for executable /Users/Sencha/Library/Developer/Xcode/DerivedData/MyApp-byivrddxclcridbtblvodrqymqwv/Build/Products/Debug-iphoneos/MyApp.app/MyApp
Running /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo -info '/Users/Sencha/Library/Developer/Xcode/DerivedData/MyApp-byivrddxclcridbtblvodrqymqwv/Build/Products/Debug-iphonesimulator/MyApp.app/MyApp'
## /Users/Sencha/Library/Developer/Xcode/DerivedData/MyApp-byivrddxclcridbtblvodrqymqwv/Build/Products/Debug-iphonesimulator/MyApp.app/MyApp doesn't contain arm64 slice
UUID of executable is: 29a862b975b335ae91c2615c775e064f
Executable name: /Users/Sencha/Library/Developer/Xcode/DerivedData/MyApp-byivrddxclcridbtblvodrqymqwv/Build/Products/Debug-iphonesimulator/MyApp.app/MyApp

UUID doesn't match dsym for executable /Users/Sencha/Library/Developer/Xcode/DerivedData/MyApp-byivrddxclcridbtblvodrqymqwv/Build/Products/Debug-iphonesimulator/MyApp.app/MyApp
Running /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo -info '/Users/Sencha/Library/Developer/Xcode/Archives/2016-01-01/MyApp 030100.03.9 01-01-2016, 20.27.xcarchive/Products/Applications/MyApp.app/MyApp'
Running /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/otool -arch arm64 -l '/Users/Sencha/Library/Developer/Xcode/Archives/2016-01-01/MyApp 030100.03.9 01-01-2016, 20.27.xcarchive/Products/Applications/MyApp.app/MyApp'
Given UUID 29a862b975b335ae91c2615c775e064f for '/Users/Sencha/Library/Developer/Xcode/Archives/2016-01-01/MyApp 030100.03.9 01-01-2016, 20.27.xcarchive/Products/Applications/MyApp.app/MyApp' is really UUID 0209e38b2511300f967d01738731d7dd
UUID of executable is: 29a862b975b335ae91c2615c775e064f
Executable name: /Users/Sencha/Library/Developer/Xcode/Archives/2016-01-01/MyApp 030100.03.9 01-01-2016, 20.27.xcarchive/Products/Applications/MyApp.app/MyApp

UUID doesn't match dsym for executable /Users/Sencha/Library/Developer/Xcode/Archives/2016-01-01/MyApp 030100.03.9 01-01-2016, 20.27.xcarchive/Products/Applications/MyApp.app/MyApp
Did not find executable for dsym
## Warning: Can't find any unstripped binary that matches version of /var/mobile/Containers/Bundle/Application/CC9E1FB1-22BB-4723-B28A-95EBE21522A1/MyApp.app/MyApp 

...

done.
0 binary images were found.

これにより、シンボルが置き換えられることはありません。これが機能しない理由はありますか?すべての UUID に問題はないように見えます。正しいアプリ ファイル、dSYM などが見つかります。必要に応じて、さらに情報を提供させていただきます。

4

0 に答える 0