ページへ戻る
印刷
iOS/Crash Reportsを解析する
をテンプレートにして作成 ::
NJF Wiki
xpwiki
:iOS/Crash Reportsを解析する をテンプレートにして作成
開始行:
*はじめに
App Storeに申請して審査でリジェクトされたとき、もし原因が...
しかし、中を見ても、
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0:
0 libsystem_kernel.dylib 0x000000018167fe5c 0x...
1 libdispatch.dylib 0x000000018150f0b0 0x...
2 libdispatch.dylib 0x000000018150f924 0x...
というような感じで、そのままでは意味が分かりません。
いっしょに「このページ参照してください」という感じで、ク...
[[https://developer.apple.com/library/content/technotes/t...
しかし、上のページにはありませんが、「symbolicatecrash」...
ここでは、その「symbolicatecrash」の使い方を簡単に説明し...
ただし、このページの記述はbitcodeには対応していません。
また、xcodeで開発したアプリを対象としています。
*symbolicatecrashを使うための準備
**symbolicatecrashの場所を確認する
symbolicatecrashの入っているディレクトリはxcodeのバージョ...
しかし、「/Applications/Xcode.app/Contents/」以下のどこか...
find /Applications/Xcode.app/Contents/ -name "symbolicat...
ver.9.3.1では以下の四カ所にあります。
/Applications/Xcode.app/Contents/Developer/Platforms/App...
/Applications/Xcode.app/Contents/Developer/Platforms/iPh...
/Applications/Xcode.app/Contents/Developer/Platforms/Wat...
/Applications/Xcode.app/Contents/SharedFrameworks/DVTFou...
多分全て同じ物でどれを使ってもかまわないと思いますが、最...
このままいちいち長いコマンドを使うのも面倒なので、作業す...
このディレクトリにパスを通すのでもかまいません。
ただ、前述のようにxcodeのバージョンによって場所が変わるの...
CRASH="/Applications/Xcode.app/Contents//SharedFramework...
これで「$CRASH」と入力するだけで、コマンドが実行されます。
**DEVELOPER_DIRを設定する
このままsymbolicatecrashを実行しても
Error: "DEVELOPER_DIR" is not defined
というエラーが出て正常に実行されません。
環境変数に「DEVELOPER_DIR」を入れる必要があります。
そのために以下のコマンドを実行します。
export DEVELOPER_DIR="/Applications/Xcode.app/Contents/D...
もしxcodeのインストールの場所がわからず、xcodeのコマンド...
xcode-select -p
を実行するとDEVELOPER_DIRが表示されます。
**dSYMファイルを取得する
注意:以下の記述はxcodeからアップロードしたアプリの場合で...
そうでない場合は各アプリ制作ツールなどでdSYMファイルなど...
xcodeを立ち上げ、上のメニューバーから「Window->Organizer...
ウインドウ上部のボタンを「Archives」を選択し(おそらく起...
そして、「Show in Finder」を選択します。
表示されたアーカイブファイルをさらに右クリック(shift+ク...
すると「dSYMs」の中に「アプリ名.app.dSYM」というファイル...
**appファイルを取得する
先ほど表示させたアーカイブファイルの中には「Product/Appli...
* symbolicatecrashを実行する
CRASH変数にsymbolicatecrashを代入しているなら、
$CRASH 「クラッシュレポートファイル」 「dSYMファイル」 ...
を実行するとクラッシュレポートが出力されます。ファイルに...
$CRASH 「クラッシュレポートファイル」 「dSYMファイル」 ...
とします
上では「dSYMファイル」「appファイル」と書いていますが、fi...
*レポートの解析
symbolicatecrashを実行すると、以下のようにそれまで数値だ...
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0:
0 libsystem_kernel.dylib 0x000000018167fe5c se...
1 libdispatch.dylib 0x000000018150f0b0 _d...
2 libdispatch.dylib 0x000000018150f924 _d...
クラッシュしたスレッドの横には「Crashed」と言う文字列が入...
そのスレッドの一番上がクラッシュしたとき最後に実行されて...
Thread 34 Crashed:
0 MyApp 0x0000000100a95ac4 curl_e...
1 MyApp 0x000000010081bfec cocos2...
2 MyApp 0x000000010081b644 cocos2...
上の例だとcurl_easy_cleanupという関数でアプリが落ちていま...
終了行:
*はじめに
App Storeに申請して審査でリジェクトされたとき、もし原因が...
しかし、中を見ても、
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0:
0 libsystem_kernel.dylib 0x000000018167fe5c 0x...
1 libdispatch.dylib 0x000000018150f0b0 0x...
2 libdispatch.dylib 0x000000018150f924 0x...
というような感じで、そのままでは意味が分かりません。
いっしょに「このページ参照してください」という感じで、ク...
[[https://developer.apple.com/library/content/technotes/t...
しかし、上のページにはありませんが、「symbolicatecrash」...
ここでは、その「symbolicatecrash」の使い方を簡単に説明し...
ただし、このページの記述はbitcodeには対応していません。
また、xcodeで開発したアプリを対象としています。
*symbolicatecrashを使うための準備
**symbolicatecrashの場所を確認する
symbolicatecrashの入っているディレクトリはxcodeのバージョ...
しかし、「/Applications/Xcode.app/Contents/」以下のどこか...
find /Applications/Xcode.app/Contents/ -name "symbolicat...
ver.9.3.1では以下の四カ所にあります。
/Applications/Xcode.app/Contents/Developer/Platforms/App...
/Applications/Xcode.app/Contents/Developer/Platforms/iPh...
/Applications/Xcode.app/Contents/Developer/Platforms/Wat...
/Applications/Xcode.app/Contents/SharedFrameworks/DVTFou...
多分全て同じ物でどれを使ってもかまわないと思いますが、最...
このままいちいち長いコマンドを使うのも面倒なので、作業す...
このディレクトリにパスを通すのでもかまいません。
ただ、前述のようにxcodeのバージョンによって場所が変わるの...
CRASH="/Applications/Xcode.app/Contents//SharedFramework...
これで「$CRASH」と入力するだけで、コマンドが実行されます。
**DEVELOPER_DIRを設定する
このままsymbolicatecrashを実行しても
Error: "DEVELOPER_DIR" is not defined
というエラーが出て正常に実行されません。
環境変数に「DEVELOPER_DIR」を入れる必要があります。
そのために以下のコマンドを実行します。
export DEVELOPER_DIR="/Applications/Xcode.app/Contents/D...
もしxcodeのインストールの場所がわからず、xcodeのコマンド...
xcode-select -p
を実行するとDEVELOPER_DIRが表示されます。
**dSYMファイルを取得する
注意:以下の記述はxcodeからアップロードしたアプリの場合で...
そうでない場合は各アプリ制作ツールなどでdSYMファイルなど...
xcodeを立ち上げ、上のメニューバーから「Window->Organizer...
ウインドウ上部のボタンを「Archives」を選択し(おそらく起...
そして、「Show in Finder」を選択します。
表示されたアーカイブファイルをさらに右クリック(shift+ク...
すると「dSYMs」の中に「アプリ名.app.dSYM」というファイル...
**appファイルを取得する
先ほど表示させたアーカイブファイルの中には「Product/Appli...
* symbolicatecrashを実行する
CRASH変数にsymbolicatecrashを代入しているなら、
$CRASH 「クラッシュレポートファイル」 「dSYMファイル」 ...
を実行するとクラッシュレポートが出力されます。ファイルに...
$CRASH 「クラッシュレポートファイル」 「dSYMファイル」 ...
とします
上では「dSYMファイル」「appファイル」と書いていますが、fi...
*レポートの解析
symbolicatecrashを実行すると、以下のようにそれまで数値だ...
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0:
0 libsystem_kernel.dylib 0x000000018167fe5c se...
1 libdispatch.dylib 0x000000018150f0b0 _d...
2 libdispatch.dylib 0x000000018150f924 _d...
クラッシュしたスレッドの横には「Crashed」と言う文字列が入...
そのスレッドの一番上がクラッシュしたとき最後に実行されて...
Thread 34 Crashed:
0 MyApp 0x0000000100a95ac4 curl_e...
1 MyApp 0x000000010081bfec cocos2...
2 MyApp 0x000000010081b644 cocos2...
上の例だとcurl_easy_cleanupという関数でアプリが落ちていま...
ページ名: