> For the complete documentation index, see [llms.txt](https://docs.imqa.io/imqa-guide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.imqa.io/imqa-guide/jpn/user-guide/crash-ysakaito/error-detail.md).

# エラー詳細

IMQA Crashのエラー詳細は、特定のエラーがアプリのどのバージョンでどれほど発生し、どのユーザー環境で主に発生するかを分析することができます。コールスタックとエラー発生ルートなどを確認でき、管理者はそのエラーにタグをつけたり、処理過程を記録・確認することができます。

## 1. 概要 <a href="#overview" id="overview"></a>

<figure><img src="https://lh7-us.googleusercontent.com/NFYejMWhWZp9pMztpz0SfLdYHMPXvTS0Vc6lNQYgWFgXt0Wm79DYmjyGqbOR0nvNr0eKNcqE-YiWrRPbFbxI2GrCEf9i_TyZL9WZlwIfnf1RbenG3JHxHj7_Gb44ofW-nzJmggJhbMI4DCCvMMroaQ" alt=""><figcaption></figcaption></figure>

「ダッシュボード」または「エラー検索」で特定のエラーをクリックすると移動でき、IMQA Crashエラー詳細は、以下のとおりに構成されています。

**❶ エラー情報**\
**❷ エラー分布**\
**❸ ユーザー情報**\
**❹ 性能情報**\
**❺ タグ**\
**❻ コールスタック/インスタンス/移動ルート**

## 2. エラー情報 <a href="#error-info" id="error-info"></a>

管理者は、エラー情報と累積回数を確認でき、処理過程を記録・確認することができます。

### クラッシュ

<figure><img src="https://lh7-us.googleusercontent.com/VtkXbNX41FMx3KLs_MgpBecUF_SrqoKcE_n6F57-YjdwG7KsNjiucdN1r5RVu2v7Sv-XDTi7l8VLpg__tuAQUsALpZO1HAh3e_-y-OXcdeG8l2yrK1gk_ypWGz2UTd47wnDhjhUpxsG3p0x2x0lsww" alt=""><figcaption></figcaption></figure>

**❶ エラー情報**\
エラー名、クラス名、エラーが発生したコードラインナンバーが表示されます。

{% hint style="info" %}
アプリの最新バージョンで該当するエラーが新規で発生した場合、復号化されたクラッシュ情報を確認するためには該当するバージョンのProguard設定が必要です。Proguardの設定に関する詳しい内容は「[IMQA Crash ユーザガイド >  すべてのプロジェクト管理 > Proguardの設定](/imqa-guide/jpn/user-guide/crash-ysakaito/project-list.md#proguard-she-ding-dsym-she-ding)」をご参照ください。
{% endhint %}

**❷ 状態**\
担当者は、確認後にエラーの処理状態を変更することができます。クリックすると、状態を変更できるオプションが表示されます。状態変更基準は特に定められていないため、管理者の判断によって以下のように設定することができます。

* **新規**New: 新たに発生したエラーの場合
* **処理**Open: 担当者が原因を把握して処理中の場合
* **完了**Fixed: 担当者が処理業務を完了した場合
* **閉じる**Close: 管理者が確認し、当該エラーの処理業務を完了した場合

{% hint style="info" %}
状態変更を実施したエラーは、同バージョンまたは下位バージョンで同じエラーが発生した場合、状態が別途に変更されることはありません。ただし、上位バージョンで同じエラーが発生した場合、当該エラーと区分するため新規エラーとして作成されます。
{% endhint %}

**❸ 最新バージョン/累積**\
発生したエラーのうち最も最新のアプリバージョン、当該エラーの発生総累積回数が表示されます。

### Webクラッシュ

<figure><img src="https://lh7-us.googleusercontent.com/FNQnrCKNt7NlrBaE9_wGoJRmOGGieQ5lOO5FVbJApreQxXWEmP2dguTpKQD-s-uoK1BMwRVOFQ-x1L_ckxtyyw2ikzMYgxd1jKuRh8SlA9IQ5C7vezl91OFiW5KZ0TOXDu8jXypr-11A-hDIvPmGxbQ" alt=""><figcaption></figcaption></figure>

**❶キャッチされたエラーインスタンス**\
Webビューでエラーが生成された場合は、そのエラーのキャッチされたエラーインスタンス名を表示します。

❷ カスタムエラーメッセージ\
特定のエラータイプエラーが生成されたときにユーザーが指定したメッセージを表示します。

```javascript
throw new Error("ユーザーが指定したエラーメッセージ");
```

{% hint style="info" %}
WebViewが収集するデフォルトのエラーメッセージを目的のエラーメッセージに変更して収集できます。 詳細なWebエラー分析のためにエラーメッセージを指定することをお勧めします。 エラーメッセージの指定の詳細については、「[IMQA Crashインストールガイド> Custom Web Crashの発生>カスタムエラーメッセージの指定](/imqa-guide/jpn/installation/ios/crash-sdk-setting.md#kasutamuermessjino)」を参照してください。
{% endhint %}

**❸エラータイプ/コードライン番号**\
Webビューエラーの種類とそのエラーの行番号を確認できます。

<table><thead><tr><th width="184" align="center">エラータイプ</th><th align="center">説明</th></tr></thead><tbody><tr><td align="center">Error</td><td align="center">ユーザーが設定したエラータイプです。</td></tr><tr><td align="center">EvalError</td><td align="center"><mark style="color:red;">eval()</mark>で発生するエラーです。</td></tr><tr><td align="center">RangeError</td><td align="center">変数の有効な範囲を外れた場合に作成されるエラーです。</td></tr><tr><td align="center">ReferenceError</td><td align="center">誤った参照をした場合に作成されるエラーです。</td></tr><tr><td align="center">SyntaxError</td><td align="center">誤った構文がある場合のエラーです。</td></tr><tr><td align="center">TypeError</td><td align="center">有効なデータ型でない場合におけるタイプのエラーです。</td></tr><tr><td align="center">URIError</td><td align="center"><mark style="color:red;">encodeURI()</mark>や<mark style="color:red;">decodeURI()</mark>の関数に無効なパラメーターを渡した場合に作成されるエラーです。</td></tr><tr><td align="center">AggregateError</td><td align="center">複数のエラーを一つのエラーで包むエラータイプです。</td></tr></tbody></table>

## 3. エラー分布 <a href="#frequency" id="frequency"></a>

直近の1週間に当該エラーがアプリのどのバージョンでどれほど発生したのか表示されます。発生推移とアプリバージョン別の比率を確認できます。

<figure><img src="https://lh7-us.googleusercontent.com/adf9v2__yQYCY5u5WaFKqQmzv4RGQGLVkSpUtc9o6dISB2tQop8qNAlXtmhI3qRKdKJ1lDdC8Zm-5Z1A0Y6DJmxzlCARqCJWqsgbbLvMe-2rLJPM4AhgnHCemntqMDJ2mwIEMrVI6O8Bvyyg_U_qcQ" alt=""><figcaption></figcaption></figure>

* **アプリバージョン別エラー発生比率**: 直近の1週間の日別エラー発生数がアプリバージョン別に割り当てられます。

{% hint style="info" %}
Y軸は、エラー発生数を表します。当該エラーを処理した後、最新バージョンでも再発生したのか容易に把握することができます。

また、特定の日付にエラー発生数が急激に増加した場合、アプリのどのバージョンで発生したかを確認してみてください。アプリの特定のバージョンにおいてエラーの発生が続く場合には、アプリの当該バージョンを利用するユーザーにアップデートをすすめることができます。
{% endhint %}

## 4. ユーザー情報 <a href="#user-info" id="user-info"></a>

直近の1週間に当該エラーがどのようなユーザー環境で多く発生したのかが表示されます。

<figure><img src="https://lh7-us.googleusercontent.com/pOofaQP8tjz1kgpB1SH-dfQWXuaRgJLjg0wN3LBfkYJkf4SZ93n-JqGxxWtZ5WxyjvmISRhy07DX1IRLLc52t0vd1jhHYL7OsFmyk4lHLhs00QsFpXgPdOav8d57AhAWtAghxdQlO_52G45JwR4UDw" alt=""><figcaption></figcaption></figure>

* **Wi-Fi/通信会社**Carrier: 当該エラーが発生したユーザーのネットワーク環境が表示されます。Wi-Fi環境と通信会社別に確認することができます。
* **GPS**: 当該エラーが発生したユーザーのGPS状態が表示されます。「ON」と「OFF」で表します。
* **アプリバージョン**App Version: 当該エラーが発生したユーザーのアプリバージョンが表示されます。
* **OSバージョン**OS Version: 当該エラーが発生したユーザーのOSバージョンが表示されます。
* **デバイスDevice**: 当該エラーが発生したユーザーのデバイスが表示されます。

{% hint style="info" %}
「Unknown Device」は、デバイス情報が収集されていないことを意味します。Macのような機器からシミュレーターでテストした場合などがあります。
{% endhint %}

* **国**Country: 当該エラーが発生したユーザーが接続している国が表示されます。

{% hint style="info" %}
個別のユーザー環境は、「[エラー詳細 > インスタンス > 詳細](#call-stack)」で確認できます。
{% endhint %}

## 5. 性能情報 <a href="#performance-info" id="performance-info"></a>

当該エラー発生時の平均リソース使用量が表示されます。

<figure><img src="https://lh7-us.googleusercontent.com/T9YtEeDXsIy5B98gNOrWFc7H9SifBgnuVL7Gy9WngnMzhMcYyGAtTCHBDqle1Mn_akmj4dKfDzoZ-N86mgsb2qzPdrLrVG00CARp7M2IOhrTtCpwOKWual-dOQtw8khmW8XKhZV1C7Kzbu85T17HfA" alt="" width="375"><figcaption></figcaption></figure>

* **CPU使用量**Usage: 当該エラー発生時の平均CPU使用量が「%」で表示されます。&#x20;
* **メモリ使用量**Usage: 当該エラー発生時の平均メモリ使用量が「MB」で表示されます。

{% hint style="info" %}
個別のユーザーリソース使用量は、「[エラー詳細 > インスタンス > 詳細](#call-stack)」で確認できます。
{% endhint %}

## 6. タグ <a href="#tag" id="tag"></a>

当該エラーに対する追加情報を、タグで自由に管理することができます。タグは、SDKでエラー種類とランクを設定する際にも設定することができます。

「[Android > Crash SDK設定 > Custom Crash発生](https://docs.imqa.io/imqa-guide/jpn/user-guide/crash-ysakaito/pages/vgoQ2ebfvuuoxxZqh8eV#1.-custom-crash-fa-sheng)」をご参照ください。

<figure><img src="https://lh7-us.googleusercontent.com/iLuOeuVsOUt1H9fgzS3SE_17sZBa9XLsCG0ToR-9ChX2cVejarMfYPJCqkv4ZvwTo12uPN5n_ORoXEdj22sAUooIShxRHbtK60AOr7w32mIU9nWMP2LmHVMyHcifwbNWV7msjA-pOTcTFvamje8PSg" alt="" width="375"><figcaption></figcaption></figure>

① タグに希望するタグ名を入力して、\[+]アイコンをクリックしてください。

② 画面下の空きスペースに登録したタグが表示されます。\[X]アイコンをクリックすると削除できます。

{% hint style="info" %}
登録したタグは、「エラー検索」ページで検索ワードとして活用することができます。アプリのターゲットとなるユーザー環境でタグを管理したり、発生状況、高いリソース使用量の記録などに活用してみてください。1つのエラーには、同じ名前のタグを登録することはできません。
{% endhint %}

## 7. コールスタック/インスタンス/移動ルート <a href="#call-stack" id="call-stack"></a>

クラッシュが発生したスタック情報とスレッド全体のスタックを確認することができます。個別ユーザーの詳細情報と移動ルートを分析することができます。

### コールスタック <a href="#callstack" id="callstack"></a>

クラッシュ発生スタック情報とスレッド全体のスタックを確認して、エラーの原因と発生位置を把握することができます。スタックに関する情報をファイル形式でダウンロードして、メンバーと共有することもできます。

<figure><img src="https://lh7-us.googleusercontent.com/jfr8IMJCicH1BNshSqXv0uq0IVmbJnN0oqNrJotQA6BcpVFGPBIzN31VN6d1ag-Z7ON64_tpaEJE58yhDAfB4oXyhsYrj-6ZiTyrXCZK6bYnMSIMUK_7RjV2MaO1rTrRQQyDwZeDqjn_g1mw-_uGvw" alt=""><figcaption></figcaption></figure>

**❶ スタックフィルター**\
基本のクラッシュ情報が画面の最上部に表示され、他のThread Call Stackで発生したエラーを確認できるよう、他のStack情報を選択して見ることができます。

**❷ クラッシュ発生スタック**\
クラッシュスタック情報のうち上位スタックラインが表示されます。

**❸ すべてのスタック**\
スレッド全体のスタック情報が表示されます。より正確にエラーの原因を把握するための参考にすることができます。

**❹ 原本ダウンロード**\
スタックに関する情報を「txt」ファイル形式でダウンロードしてメンバーと共有することができます。\[Download Raw File]をクリックすると、「stacktrace.txt」ファイルが「Download」フォルダに保存されます。

### インスタンス <a href="#instance" id="instance"></a>

クラッシュが発生したユーザー情報を確認することができます。個別のユーザーのLogCat(ログキャット、ログ詳細情報)、画面移動ルート、ユーザー環境に対する詳細情報を確認することができます。

<figure><img src="https://lh7-us.googleusercontent.com/kpEZHs2FwaIg_gthbCWH8C24ms8tVUwBnbc45kA0lUXArlLZZu8jAQC1OlKBxvcAT08kDjTI3jVfZW61Kg61yXmoKNAmRwndF4iuaq9e3ywvoxItLRKqB2u3ecNny-a95p_ef1Xyrx89QK_sbo9-Zw" alt=""><figcaption></figcaption></figure>

**❶ ユーザー情報**\
個別のユーザーのIPアドレス、アプリバージョン、デバイス、国情報が表示され、LogCat、移動ルート、詳細情報をポップアップで確認することができます。

**❷ LogCat** <mark style="color:red;">\*Androidアプリ専用</mark>\
Androidアプリの場合は、LogCat情報を確認することができます。個別ユーザー項目でLogCat \[view]をクリックすると、LogCat情報のポップアップが表示されます。<br>

<figure><img src="https://lh7-us.googleusercontent.com/eaHeZCLL77Iq3nKC9RF2PllVUrDNVY-Ozvhg8NwZfUOq0djv8eVxV5JPUZZz9SiU1lIiPnvaZ41SeBffsiKQTQcikniQdcCp4hhLwSDxwuSiwsI7Pd4ZPdWdG7lM5H9422WpLNrRKURk6PLfJQ1h9A" alt=""><figcaption></figcaption></figure>

LogCatとは、Androidの詳細ログ情報を意味し、エラースタック情報では把握できない問題を、クラッシュ発生時点以前に記録されたログ情報として表示します。

**❸ 移動ルート**\
個別ユーザー項目で移動ルート \[view]をクリックすると、移動ルート情報のポップアップが表示されます。&#x20;

**❹ 詳細**\
ユーザーのデバイス、アプリ情報、OSなどの環境情報を詳細に確認することができます。個別ユーザー項目で詳細 \[view]をクリックすると、詳細情報のポップアップが表示されます。

<figure><img src="https://lh7-us.googleusercontent.com/p5ZpF5e7OmhBmUXGKd_gZCOBjDMQywJxL25_sVyKzQI1Cf5E7fEiViQINQ1eRsldpRZl13zDpEzDFjnAmCuAEXP24Z-GWd4qC4OxZIEli9c00U1P5GuTWimBdKDNKskjZCsWHUQ_-vauRDzrbQpRZw" alt="" width="375"><figcaption></figcaption></figure>

<figure><img src="https://lh7-us.googleusercontent.com/VNWDF9AVPBmQWEuq5K0fCqz72E-5_ztdVD-tDLschUIxdugZGbGtm6sgJGXZtgmTqZDP_2AKKqhKtEWdgrpKOtGpntzvHGHXVaZDzSwm8SY3Y4WyiDXQpR_K2Zx_0A8FoxVpM5OCvMFmAwJbirFnbg" alt="" width="375"><figcaption></figcaption></figure>

* **ユーザー情報**: ユーザーの名前、固有ID、IPアドレス、Eメールアドレスが表示されます。

{% hint style="warning" %}
ユーザー情報は、SDKが別途提供するAPIを通してデータを提供する場合のみ名前、固有ID、Eメールアドレスが表示されます。
{% endhint %}

* **デバイス**: 当該ユーザーのデバイス関連情報が表示されます。
* **アプリ情報**: 当該ユーザーのアプリ実行開始時間、バージョンなどの情報が表示されます。
* **OS**: 当該ユーザーのプラットフォーム、OSバージョン、ルーティングの有無などが表示されます。
* **SDK**: 当該ユーザーのアプリにインストールされたIMQA SDKバージョンが表示されます。
* **ユーザー定義ログ**Custom Logs: SDKから別途提供されるAPIを通してログ情報を送信した場合に提供されるログ情報が表示されます。
* **ユーザー定義キー**Custom Keys: SDKから別途提供される APIを通してキー/値情報を送信した場合に提供されるキー/値情報が表示されます。

### 移動ルート <a href="#bread-crumbs" id="bread-crumbs"></a>

クラッシュが発生したユーザーが移動したイベントルートを確認することができます。

<figure><img src="https://lh7-us.googleusercontent.com/NFL_JZ0EuFIe3Y2KG_tHGO83S3j_ZZ1wqdRo93xkHk5mkLOm6AKMHfca6EkryO5rtaGaFEh8Lo6O0dveWF68PpRD-tV0pH1S0zfpZUxr7TAaYaFxtnF2Y5z4dxLZxTyzybcfFR84umc1epwFFZg5qQ" alt=""><figcaption></figcaption></figure>

![](https://lh6.googleusercontent.com/2WKVoBJa8OEhzNCeBzaW0JQO_thafBJm0kaV2xbIpy_eVkRXg57-_-USiWkFwntDg5ZYI065GmVWQUVDe6vGEd7-vC-AuSmdkWA-3tP0XLiSMiHi7SlPd2d6pPlKNANnB94W4kfwDTnx5EQNjqMtZA)

Sankeyダイアグラムは、全体のフローにおいて最も主となる重要な流れを探すときに役立ちます。エラー発生時点までのユーザーの主なイベントを、視覚的に把握することができます。画面と画面の間のエリアにカーソルを重ねると、「順序：イベント → 順序：イベント：ユーザー数」でツールチップが表示されます。

* **ユーザー数**: 特定の画面から特定の画面へ移動したユーザー数がカウントされます。

{% hint style="info" %}
エラー発生地点までの特定ルートが大きく強調される場合、当該ルートをたどって移動する多くのユーザーが問題を抱えていると解析することができます。当該ルートがアプリの目標ルートの場合は、問題を速やかに解決する必要があると言えます。
{% endhint %}
