エージェントのバージョン4以降では、New Relicはモバイルアプリケーションのクラッシュレポートを作成します。iOS や tvOS のアプリケーションがクラッシュすると、OS がクラッシュレポートを作成し、デバイスに保存します。New Relic は、アプリケーションが次回起動したときにこのレポートをアップロードします。
このレポートと関連するdSYMファイルを使用すると、クラッシュレポートには人間が読める情報を含む完全なスタックトレースが含まれます。そして、New Relic にログインして、クラッシュしたメソッドと行、さらにデバイスと環境の詳細を含む各クラッシュを確認することができます。
dSYMファイル
iOS または tvOS アプリケーションのリリースビルドを作成すると、メソッドやクラスの名前が削除され、機械読み取り可能なメモリアドレスのみが残されます。アプリケーションがクラッシュすると、スタックトレースはこの機械可読なコードで構成されます。
dSYM fileはdebug symbolsの Xcode プロジェクト ファイルです。 これには、最初のクラッシュ レポートを人間が読める情報に変換できるようにするデバッグ シンボルが含まれています。 このプロセスは記号化として知られています。
New Relic は、dSYM のアップロードのためにダイナミックフレームワークをサポートしています。アプリが複数のdSYMファイルを持つダイナミックフレームワークを使用している場合、New Relicは自動的にそれらのファイルをアップロードして使用します。
詳しくは、 Retrieve and download dSYMs または Upload dSYM files をご覧ください。
クラッシュレポーターのデバッグ
クラッシュレポートはデフォルトでは有効ですが、状況によっては無効になることもあります。
If the app is running in a simulator: シミュレーターで実行されているアプリはクラッシュ レポートでは使用できません。 シミュレータのクラッシュはシンボル化できません。
If the debugger is enabled: アプリケーションごとに一度に登録できる未キャッチ例外ハンドラーは 1 つだけです。 デバッガーを接続した状態で実行している場合、New Relic はクラッシュをキャプチャして報告しません。
If another crash reporter is enabled: New Relic起動後に別のキャッチされていない例外ハンドラーが登録されている場合、次のエラーメッセージがログに記録されます。
The New Relic exception handler has been replaced.This may result in crashes no longer reporting to New Relic.
クラッシュレポートの無効化
New Relic のクラッシュレポートを無効にするには、以下の API メソッドを呼び出します。
Language | Procedure |
---|---|
Objective-C | の前に電話する
|
迅速 | の前に電話する
|
この呼び出しの詳細については、 NewRelic.h
ファイルを参照してください。該当する機能フラグの詳細については、 NewRelicFeatureFlags.h
ファイルを参照してください。