dSYMとappファイルによるCrashの分析

1363 ワード

一.xxx.crash、xxx.appとxxx.dSYMのuuidが一致していることを確認する
検証方法:
1)xxx.appのuuidを表示する: dwarfdump --uuid xxx.app/xxx 
$ dwarfdump --uuid mobileguard.app/mobileguard

2)xxx.dSYMのuuid:dwarfdumpの表示 --uuid xxx.app.dSYM/Contents/Resources/DWARF/xxx 
$ dwarfdump --uuid mobileguard.app.dSYM/Contents/Resources/DWARF/mobileguard

3)xxx.crashにuuidを含む
       対応するappファイルとdSYMファイルは.archiveと接尾辞されたファイルで、Xcode>Organizer>Archiveの下から対応するArchiveパッケージを見つけることができます.
二.三者uuidが一致していることを確認し、symbolicatecrashツールでシンボル化ログを生成する
1)symbollicatecrashを/usr/bin/にリンクすると、sybollicatecrashコマンドを直接使用できます.
      ln -s  /Applications/Xcode.app/.../symbolicatecrash  /usr/bin/symbolicatecrash   
$ ln -s  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash /usr/bin/symbolicatecrash 

2)xcodeの設定 DEVELOPER_DIR:
       export DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer" 
export DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer"

3)コマンドを実行する:
symbolicatecrash xxx.crash xxx.app.dSYM > new.log
xcrun atos -arch armv7 -o xxx.app/xxx 0x00001586