# クラッシュと例外のレポートについての理解

> Learn how to view, filter, and interpret crash and exception reports in the Cloud Diagnostics Dashboard.

​クラッシュと例外のレポートは、問題データをキャプチャして [Unity Dashboard](http://dashboard.unity3d.com/) の **Cloud Diagnostics** > **Crash and Exception Reporting** (クラッシュと例外のレポート) セクションに表示します。

クラッシュと例外のレポートには、クラッシュしたスレッドのネイティブスタックトレースが表示されます。キャッチされていないマネージ例外がクラッシュの原因である場合は、ネイティブスタックトレースと共に、例外の発生元のマネージスタックトレースもレポートに表示されます。

クラッシュと例外のレポートでキャプチャされる問題には以下の種類があります。

* **ネイティブクラッシュ**: ネイティブクラッシュレポートは、アプリケーションが応答を停止したときにスタックトレースとその他のメタデータをキャプチャします。ほとんどの場合、これはアプリケーションのネイティブ (通常は C++) レイヤーでの障害が原因です。

* **マネージ例外**: マネージ例外レポートは、アプリケーションのマネージ (通常は C#) レイヤーで未処理の例外が発生したことが原因でアプリケーションが応答を停止したときに、スタックトレースとその他のメタデータをキャプチャします。

クラッシュと例外のレポートでは、個別の問題のレポートが問題レポートに集約されます。これらのクラッシュと例外の発生頻度は、ダッシュボードの Occurrence (発生数) ビューから確認できます。

クラッシュと例外のレポートを表示するには、Unity エディターの Cloud Diagnostics パネルからダッシュボードを開くか、ブラウザーウィンドウから [Unity Dashboard](http://dashboard.unity3d.com/) にサインインします。

エディターからクラッシュと例外のレポートにアクセスするには、以下を行います。

1. Unity エディターでプロジェクトを開きます。
2. メニューバーから、**Window** (ウィンドウ) > **General** (全般) > **Services** (サービス) を選択します。
3. Services (サービス) ウィンドウから、**Cloud Diagnostics** を選択します。
4. Cloud Diagnostics パネルで、**Go to Dashboard** (ダッシュボードに移動) を選択します。
5. メインナビゲーションメニューから、**DevOps** > **Cloud Diagnostics** > **Crash and Exception Reporting** (クラッシュと例外のレポート) を選択します。

ダッシュボードからクラッシュと例外のレポートにアクセスするには、以下を行います。

1. ブラウザーから [Unity Dashboard](http://dashboard.unity3d.com/) にサインインします。
2. 上部のナビゲーションメニューのプロジェクトセレクターから、Cloud Diagnostics に接続されているプロジェクトを指定します。
3. プロジェクトを指定したら、メインナビゲーションメニューから **Cloud Diagnostics** > **Crash and Exception reports** (クラッシュと例外のレポート) に移動します。


**Frame:**
![](/api/media?file=/cloud-diagnostics/media/images/crashand-exceptionpage.png)

## クラッシュと例外のレポートページについて##understanding-the-crash-and-exception-reports-page

クラッシュと例外のレポートページは、以下の 3 つの主要部分で構成されています。

1. 概要とフィルター
2. Occurrences (発生数) グラフ
3. Problems (問題) リスト

### 概要とフィルター##overview-and-filters

クラッシュと例外のレポートページの上部には、レポートの概要とフィルタリングオプションが表示されます。

ページ上部のレポート集計には、アカウントの前日に生成されたレポート数とレポート使用容量が示されます。レポート数の制限を引き上げる必要がある場合は、Unity Pro または Plus にアップグレードするか、サポートにお問い合わせください。この概要ビュー内で、**ネイティブクラッシュの合計数**、**影響を受けたユーザー数**、**例外の合計数** に関する情報をすばやく把握できます。

特定の種類の問題に焦点を当てるには、レポートをフィルター処理します。選択したフィルターの結果が、Occurrences (発生数) グラフと Problems (問題) リストに表示されます。**Add filter** (フィルターを追加) ドロップダウンメニューを使用して、事前に選択されたフィルターのセットから選択し、関数と値を適用します。


**Frame:**
![](/api/media?file=/cloud-diagnostics/media/images/crashand-exceptionpageoverview.png)

フィルターを適用するには、以下を行います。

1. **Add filter** (フィルターを追加) ボタンを選択します。
2. フィルターの種類を選択します。フィルターに関数と値が必要な場合は、2 番目のドロップダウンが開きます。
3. 該当する場合は、フィルターに適用する **関数** (**equals** または **does not equal**) と **値** を指定します。
4. **Apply** (適用) を選択してフィルターを適用します。

フィルターを削除するには、フィルターの種類の横にある **x** を選択します。

### Occurrences (発生数) グラフ##occurrences-graph

Occurrences (発生数) グラフには、問題の数が経時的に表示されます。12 時間から 7 日間 (Cloud Diagnostics の場合) または 90 日間 (Advanced Cloud Diagnostics) までの事前定義された期間でフィルター処理できます。日付範囲を指定するには、レポート期間のドロップダウンを選択し、表示する時刻または日付の範囲を選択します。

Occurrences (発生数) グラフからレポートの削除を選択することもできます。これは、レポートされた問題が修正され、ダッシュボードに表示する必要がなくなった場合に役立ちます。


**Frame:**
![](/api/media?file=/cloud-diagnostics/media/images/occurencesgraph.png)

### Problems (問題) リスト##problems-list

Problems (問題) リストには、問題レポートを種類別にレポートの合計数でソートしたリストが表示されます。レポートの詳細を表示するには、レポート名を選択します。


**Frame:**
![](/api/media?file=/cloud-diagnostics/media/images/problemslist.png)

## 問題レポートの詳細について##understanding-problem-report-details

特定の問題レポートの詳細を表示するには、Problems (問題) リストからレポートを選択します。これにより問題の詳細ページが開き、選択したレポートの詳細が表示されます。

問題レポートの詳細ページの上部のセクションには、ID、問題のメッセージ、種類、影響を受けたユーザー数など、選択したレポートのサマリーが表示されます。

問題レポートの詳細ページの中央のセクションには、経時的な発生数と、影響を受けた OS、アプリケーションバージョン、デバイスモデルの集計データが表示されます。


**Frame:**
![](/api/media?file=/cloud-diagnostics/media/images/problemreportdetails.png)

下部のセクションには個別の問題レポートが表示され、問題レポートのタイトルや、選択したクラッシュまたは例外のレポートが発生した日時などが示されます。

問題レポートの詳細ページの下部には以下のタブがあります。

* **Stack trace** (スタックトレース): 表示している特定の問題レポートのスタックトレースが含まれます。スタックトレースは、問題が発生したコード内の場所を特定するのに役立ちます。
* **Metadata** (メタデータ): 問題が発生したデバイスのデバイス固有のメタデータが含まれます。コード内で定義したカスタムメタデータもここに表示されます。カスタムメタデータを設定するには、[CrashReportHandler.SetUserMetadata](https://docs.unity3d.com/Documentation/ScriptReference/CrashReportHandler.CrashReportHandler.SetUserMetadata.html) メソッドを使用します。
* **Logs** (ログ): [Debug](https://docs.unity3d.com/ScriptReference/Debug.html) クラスの Log メソッドを使用して出力したログメッセージが表示されます。ログメッセージには、メッセージの種類、日時、発生フレーム、メッセージが含まれます。キャプチャされるログメッセージのデフォルトの数は 10 件です。これは [CrashReportHandler.logBufferSize](https://docs.unity3d.com/Documentation/ScriptReference/CrashReportHandler.CrashReportHandler.html) メソッドを使用して、0 - 50 件のメッセージをキャプチャするように設定できます。

特定の問題レポートのデータを JSON 形式でダウンロードできます。レポートをダウンロードするには、問題の詳細ページの下部にある **JSON** ボタンを選択します。


**Frame:**
![](/api/media?file=/cloud-diagnostics/media/images/problemreportdetailsbottom.png)

## 次のステップ##whats-next

クラッシュと例外のレポートを設定し、理解したので、次は [デバッグシンボル](../debugging-symbols/about-debugging-symbols) を追加して問題をさらに特定する方法を学びましょう。
