LoginSignup
27
18

More than 1 year has passed since last update.

iOS15以降のクラッシュログ解析

Posted at

Xcode-13.1

はじめに

iOS15 のクラッシュログのフォーマットが変わっており symbolicatecrash だと解析できずわりとつまづいたので備忘録。

symbolicatecrash じゃなくて CrashSymbolicator.py を使うらしいです。

To support the new JSON-format crash logs generated in macOS Monterey and iOS 15, Instruments includes a new CrashSymbolicator.py script. This Python 3 script replaces the symbolicatecrash utility for JSON-format logs and supports inlined frames with its default options. For more information, see: CrashSymbolicator.py --help. CrashSymbolicator.py is located in the Contents/SharedFrameworks/CoreSymbolicationDT.framework/Resources/ subdirectory within Xcode 13. (78891800)

使うやつ

  • dSYM ファイル
  • クラッシュログ(拡張子 ips のやつ)
  • CrashSymbolicator.py

dSYM取得

Debug Information Format を DWARF with dSYM File にして ipa を作成する。

dsym

xcarchive ファイルを開くと下記のように dSYM ファイルがあるので取得する。

archive

クラッシュログ取得

実機に ipa を入れてクラッシュさせる。
(実機をつないで Xcode の Window > Devices and Simulators からインストールできるらしい)

実機の設定 > プライバシー > 解析および改善 > 解析データで該当アプリを検索してログを取得する。
(共有 > AirDrop で Mac に送れる)

シンボル化

ついにシンボル化!

クラッシュログと dSYM ファイルを同じフォルダに配置する。

directory
  1. ターミナルを開いて cd で該当フォルダに移動
  2. 下記コマンド実行
    python3 /Applications/Xcode.app/Contents/SharedFrameworks/CoreSymbolicationDT.framework/Resources/CrashSymbolicator.py -p foo.ips -d Foo.app.dSYM -o piyo.ips
    

piyo.ips がシンボル化されたログです:confetti_ball:

おわりに

symbolicatecrash でやると No crash report version になり dSYM が違うのか?とかわりと悩みましたが iOS 15 からは CrashSymbolicator.py を使うようです。

あまり CrashSymbolicator.py を使う機会はないかもしれませんが:innocent:

参考

27
18
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
27
18