• ログイン今すぐ開始

本書は、お客様のご参考のために原文の英語版を機械翻訳したものです。

英語版と齟齬がある場合、英語版の定めが優先するものとします。より詳しい情報については、本リンクをご参照ください。

問題を作成する

シンボル化されていないクラッシュのビルドUUIDを探す

dSYM が New Relic にアップロードされていないと、 モバイル クラッシュ レポート を記号化できません。 dSYM を手動でアップロードしたり、New Relic の UI から直接アップロードすることができます。しかし、アプリケーションのビルドごとに新しいdSYMが作成されるため、どのdSYMがどのアプリのビルドに起因するのかを管理するのは困難な場合があります。

このような状況では、Build UUID識別子を使って

  • アプリケーションのユニークなビルドを識別します。
  • どのdSYMがクラッシュのシンボリック化に使用できるかを調べます。

ビルドのUUIDを見る

1つのアプリケーションは複数のBuild UUIDを持つことができ、アプリケーションが構築されたCPUアーキテクチャごとに1つのBuild UUIDが割り当てられます。Build UUIDは、関連するdSYM内にも格納され、dSYMを識別するために抽出することができます。

New Relic のクラッシュレポートには、クラッシュしたアプリケーションの Build UUID も含まれています。Build UUID を表示するには。

  1. one.newrelic.com > モバイルに移動します。次に、アプリを見つけて、 Crashes > Crash Analysisをクリックします。
  2. クラッシュリスト テーブル から、任意の行を選択します。
  3. 選択したクラッシュ レポートのクラッシュの詳細ページから、属性リストでApp Image Uuidを探します。

選択したクラッシュ レポートの属性リストにApp Image Uuidがない場合:

  1. 衝突の詳細をエクスポートする.
  2. エクスポートされたクラッシュレポートの Binary images section の中にあるBuild UUIDを探してください。

クラッシュの詳細から抽出したBuild UUIDを使って、不足しているdSYMを見つけます。

バイナリ画像の例

以下は、エクスポートされたクラッシュレポートの Binary images セクションの例です。このセクションには、アプリケーションに含まれるすべての動的リンクライブラリのBuild UUIDと、メインアプリケーションのBuild UUIDが記載されています。

この例では、メイン アプリケーションはNew Relicです。そのビルド UUID は117667e7b8d230cb8a908906c64e0227です。これは、関連する dSYM を見つけるために使用できる識別子です。

Binary Images:
0xb1000 - 0x30d000 New Relic armv7 <117667e7b8d230cb8a908906c64e0227> /var/containers/Bundle/Application/New Relic.app/New Relic
0x22290000 - 0x22292000 libSystem.B.dylib armv7 <39d6d6f7c2ac3de8bb29c40a1b66368a> /usr/lib/libSystem.B.dylib
0x22292000 - 0x222de000 libc++.1.dylib armv7 <017dba6c16b63f9ebecb9ddd0d0a4520> /usr/lib/libc++.1.dylib
0x222de000 - 0x222f9000 libc++abi.dylib armv7 <d32373f6c2153a509f6603750d213ffb> /usr/lib/libc++abi.dylib
0x222fc000 - 0x22667000 libobjc.A.dylib armv7 <94f6d325c1843f45b3a439b86fc9de15> /usr/lib/libobjc.A.dylib
0x22667000 - 0x2266c000 libcache.dylib armv7 <8009f99fb892331dbcb61cd740ff0f43> /usr/lib/system/libcache.dylib
0x2266c000 - 0x22676000 libcommonCrypto.dylib armv7 <f6db318471d732d39918ef36bde65cb7> /usr/lib/system/libcommonCrypto.dylib
0x22676000 - 0x2267c000 libcompiler_rt.dylib armv7 <cfa3ca12d6c2383abcaf3c8541e9b86c> /usr/lib/system/libcompiler_rt.dylib
0x2267c000 - 0x22683000 libcopyfile.dylib armv7 <d2b06020c3693c7b9d179434f8115ba0> /usr/lib/system/libcopyfile.dylib
0x22683000 - 0x226d3000 libcorecrypto.dylib armv7 <181437f8d9e53277ace439de8b3fd1ad> /usr/lib/system/libcorecrypto.dylib
0x226d3000 - 0x2271d000 libdispatch.dylib armv7 <bbb4bba2176039ab95a59d7a56f6eff8> /usr/lib/system/libdispatch.dylib

dSYMの発見と再記号化

dSYM の dSYM のビルド UUID を見つけるには、次のターミナル コマンドでdwarfdumpを使用します。

dwarfdump --uuid <path-to-dSYM>

次の例では、New Relic dSYM は、 ARMv7ARM64にそれぞれ 1 つずつ、2 つのビルド UUID を返します。ARMv7ビルド UUID は、見つからないクラッシュののビルド UUID と一致します:

> dwarfdump --uuid ./New\ Relic.app.dSYM/Contents/Resources/DWARF/New\ Relic
UUID: 117667E7-B8D2-30CB-8A90-8906C64E0227 (armv7) ./New Relic.app.dSYM/Contents/Resources/DWARF/New Relic
UUID: B1A8C6EE-02B9-3C55-AEE7-308521873107 (arm64) ./New Relic.app.dSYM/Contents/Resources/DWARF/New Relic

シンボリック化されていないクラッシュをシンボリック化するには、 手動でdSYM をアップロードする手順に従ってください。

Copyright © 2022 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.