クラッシュレポートの設定

アンリアル エンジン 4 のクラッシュレポート イントラネット アプリケーションの設定

Windows
MacOS
Linux

クラッシュレポートは、ユーザーがクラッシュのレビューや管理を有効にするためのイントラネット アプリケーションです。クラッシュレポートは、コールスタックによってクラッシュをグループ分けします。クラッシュレポートでは、コールスタックを「Buggs」と呼んでいます。Buggs は 2 つ以上のクラッシュから成るグループで、コード内の実際のバグを効率的に特定する助けとなります。このドキュメントは、ユーザーのイントラネット上にクラッシュレポートを設定する方法を詳しく説明します。

ユーザーは CrashReport ツールを単一の Web アプリケーションとして使用しますが、このツール自体は動作に必要となるいくつかの構成要素から成ります。エンジンがクラッシュすると、「AutoReporter.exe」 を呼び出します。このプログラムは、すべてのクラッシュデータを収集して 「http://AutoReportService」へ送信します。この Web サービスによって、レポートは CrashReport Database に登録され、その後ログおよびダンプファイルを 「http://AutoReportFiles,」 にアップロードします。これは、ファイルを単に保存し、後でレビューするときにファイルを供給するためのものです。

要件

  • Visual Studio 2008

  • 内部ウェブサーバー .Net 3.5+ をインストールした IIS 7 ASP MVC 2.0

  • 内部 SQL サーバー

  • SQL Management Studio

  • Visual Web Developer 2008 または 2010

インストール

  • このツールのソースコードは、 Perforce の「/UnrealEngine3/Development/Tools/CrashReport/」に置くことができます。

データベースの作成

  • データ―ベースに User を作成します (IT 部署と要相談)。

  • [データベース] を 右クリック して、 -> [新規データベース] 選択します。 * ウィザードでデータベース名とデータベースに必要なその他のオプション事項を入力して [OK] をクリックします。

  • SQL Manager から 'Crashreport/Models/CreateDatabase.sql' を開きます。 [データベース名] を先ほど作成したデータベースの名前に変更します。 "! Script" ボタンをクリックします。

  • ユーザーがこのデータベースへアクセス権があることを確認してください (もしくは所有している方が望ましい)。

ウェブサイトの作成

このサービスを機能させるために、 3 つのウェブサイトを作成します。

  • http://CrashReport.yourdomain.com * ユーザーが使用する為のメインとなるイントラネット アプリケーション

  • http://AutoReportService.yourdomain.com * エンジンが送信するクラッシュを処理する Web サービス

  • http://AutoReportFiles.yourdomain.com * それぞれのクラッシュのログとミニダンプの保存場所

http://CrashReport.yourdomain.com

  • IIS Manager を開きます

  • [Application Pools] を 右クリック して -> [Add Application pool]
    AddApplicationPool.JPG 名前:CrashReport .Net Framework のバージョン:バージョン 2.0 以上

    ![](AddApplicationPoolWizard.JPG)
  • [サイト] を 右クリック して -> [ウェブサイトを追加] AddSite.JPG サイト名:CrashReport Application Pool:CrashReport

    ![](AddSiteWizard.JPG)

    * 物理パス:'/CrashReport' を共有します

    ![](AddSiteCreateDirectory.JPG)
  • シンプルな配置とするために、 '/CrashReport' をローカルネットワークと共有します。 IIS から ウェブサイト名を 右クリック して、 -> [Explore] を選択します。 [フォルダ] を 右クリック して [プロパティ] をクリックします

    * Permissions (許可) を自由に設定します。ただし、少なくともサイトアクセスをデプロイしているユーザーを許可します
    * **[OK]** をクリックして、後のデプロイのためにファイルパスを記憶させます

http://AutoReportService.yourdomain.com

  • IIS Manager を開きます

  • [Application Pools] を 右クリック して -> [Add Application pool] 名前:AutoReportService .Net Framework のバージョン:バージョン 2.0 以上

  • [サイト] を 右クリック して -> [ウェブサイトを追加] サイト名:AutoReportService Application Pool:AutoReportService * 物理パス: `/AutoReportService`

  • File System に、Web ルート外のログファイル用フォルダを作成します * 例 C:\AutoReportLog\

  • シンプルな配置とするために、<Web Root>/AutoReportService をローカルネットワークと共有します IIS から ウェブサイト名を 右クリック して、 [Explore] を選択します [フォルダ] を 右クリック して [プロパティ] をクリックします

    * Permissions (許可) を自由に設定します。ただし、少なくともサイトアクセスをデプロイしているユーザーを許可します
    * **[OK]** をクリックして、後のデプロイのためにファイルパスを記憶させます

http://AutoReportFiles.yourdomain.com

  • IIS Manager を開きます

  • [Application Pools] を 右クリック して -> [Add Application pool] 名前:AutoReportFiles .Net Framework のバージョン:バージョン 2.0 以上

  • [サイト] を 右クリック して -> [ウェブサイトを追加] サイト名:AutoReportFiles Application Pool:AutoReportFiles * 物理パス: `/AutoReportFiles`

  • ReportFiles に対して Directory (ディレクトリ) を作成します

  • <Web Root>/AutoReportFiles/ReportFiles/

  • ログとダンプファイルに [MIME Types] を追加します [AutoReportFiles Site] を選択します [MIME Types] を ダブルクリック します * 右上隅の [追加] をクリックします

    * ファイル名の拡張子: ".log"
    * MIME type: "application/octet-stream"  
        ![](AddMimeTypes.JPG)

    * 再び [追加] をクリックします

    * ファイル名の拡張子: ".dmp"
    * MIME type: "application/octet-stream"

サービスのデプロイ

「/UnrealEngine3/Development/Tools/CrashReport/」に保存されている CrashReport ソリューションを VS 2008 で開きます。

http://CrashReport.yourdomain.com

  • 「Web.config」を編集します <connectionStrings> 配下に置かれた、 <add name="CrashReportConnectionString" で始まる行を検索します [Connection Settings] から [Data Source]、[User ID] そして [パスワード] を編集します

  • [Settings.settings] (または [Properties->settings]) を編集します * http://AutoReportFiles.yourdomain.com のために作成した URL を書き留めて、ここにその URL を入力します。

  • ![](PublishProject.JPG)

    * 正しい設定であることを確認してください

    ![](PublishProjectWizard.JPG)

    * **[OK]** をクリックしてください。

http://AutoReportService.yourdomain.com

  • 「Web.Config」を編集します *

    * ウェブサーバーで、「AutoReportLog」ディレクトリのパスに値を設定します

    *

    * ウェブサーバーで、「AutoReportLog」ディレクトリのパスに値を設定します
    * 例 `<Web Root>/AutoReportFiles/ReportFiles/`

    * 「Crash Report Web.Config」から Connection String (接続文字列) をコピーします

    * あるいは、現在の接続文字列を編集して、サーバーおよび認証設定に適合させます
    * これが必要な理由は、プロジェクトが Crash Report dll を使用してファイルを更新するものの、自身の接続文字列を渡すのはその実行時になるためです。  

AutoReporter.exe

  • [Settings.settings] を編集します。 すべての URL がプロダクションシステム内の URL を指していることを確認します。 デフォルトは、このドキュメント内の URL を使用します。

  • Web サービスの参照を同期させます。 [Web References] を展開します。 [ReportService] を 右クリック して -> [Update Web Reference] * これによって、Web 参照が、「AutoReportService/RegiserReport.asmx Web」サービスのインスタンスと確実に適合するようになります。

  • プロジェクト名を 右クリック して、-> [ビルド] を選択

http://AutoReportFiles.yourdomain.com

このウェブサイトは、ファイルを収集表示するだけのシンプルなサイトです。クラッシュを加えてから、当該 URL を訪れ、クリックするとログおよびダンプファイルのダウンロードが確認できれば、このサイトは正しく動作しています。

テスティング

http://CrashReport.yourdomain.com

  • 「http://CrashReport.yourdomain.com」へ行くと、空のページが表示されるはずです。

    WorkingWebsiteEmptyDatabase.JPG

AutoReporter.exe

クラッシュを作成する

  • エディタのインスタンスを開きます。 「ExampleGame.exe」を実行すれば簡単に開きます。 クラッシュを発行します: "~" -> "debug crash"

  • ダイアログボックスが表示されます。 テストの概要と説明を入力します。 [OK] をクリックしてください。

  • すべてが正しく進むと、別のウィンドウが現れ、クラッシュへの URL が表示されます。 * この URL をクリックし、クラッシュが CrashReport に入っていることを確認します。

  • CrashReport 内でクラッシュの ID をクリックします。 * ログのハイパーリンクをクリックします。

    * すべてが正しく進むと、「1_Launch.log」 をダウンロードするように促されます。

Bugg を作成する

  • 別のクラッシュを作成します。 * 上記の手順を繰り返します

  • 「http://CrashReport.yourdomain.com/Buggs」へアクセスします * ここから Bugg が 1 つ確認できるはずです

    * その ID をクリックすると、新たなスクリーンが現れ、作成したばかりの 2 つのテストクラッシュがリスト表示されます
Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback