设置崩溃报告

为虚幻引擎4设置崩溃报告内网应用。

Windows
MacOS
Linux

CrashReport是一个内网应用,允许用户复查和管理崩溃。崩溃报告按Callstack将这些崩溃分组,崩溃报告在其中调用Bugg。Bugg是两个或更多崩溃的分组,帮助用户更好地识别代码中的实际错误。本文介绍了如何在内网设置崩溃报告的详细说明。

用户体验CrashReport工具是一个网络应用,但该工具有一些让它工作的不同元素。当引擎崩溃时,它调用程序`AutoReporter.exe`,该程序负责收集和向Web Service http://AutoReportService发送所有崩溃数据,后者将报告注册到CrashReport数据库中,然后将日志和转储文件上传到http://AutoReportFiles,它只是存储报告并供将来查看所用。

要求

  • Visual Studio 2008

  • 内部Web服务器 IIS 7 +并安装了.Net 3.5+ ASP MVC 2.0

  • 内部SQL服务器

  • Sql Management Studio

  • Visual Web Developer 2008或2010

安装

  • 该工具的源代码位于/UnrealEngine3/Development/Tools/CrashReport/的Perforce中

创建数据库

  • 为数据库创建用户(可能需要与IT部门沟通)

  • **右键单击**数据库->新建数据库 * 在向导中填写数据库名称以及数据库的任何其他选项,单击"确定"。

  • 从SQL Manager打开<Project Root>Crashreport/Models/CreateDatabase.sql 将数据库名称更改为刚刚创建的数据库名称。 单击"!执行脚本"按钮。

  • 确保用户有权访问(或者最好拥有)该数据库。

创建网站

为使该服务工作,需要创建三个网站

  • http://CrashReport.yourdomain.com * 用户将使用的主内网应用

  • http://AutoReportService.yourdomain.com * 负责处理引擎所发送的崩溃的Web Service

  • http://AutoReportFiles.yourdomain.com * 保存每个崩溃的日志和小存储器转储文件的元库

http://CrashReport.yourdomain.com

  • 打开IIS Manager

  • 右键单击"应用程序池"->"添加应用程序池"
    AddApplicationPool.JPG 名称:CrashReport .Net Framework版本:2.0或更高版本

    ![](AddApplicationPoolWizard.JPG)
  • 右键单击"站点"->"添加网站" AddSite.JPG 站点名称:CrashReport 应用程序池:CrashReport

    ![](AddSiteWizard.JPG)

    * 物理路径:共享`/CrashReport`

    ![](AddSiteCreateDirectory.JPG)
  • 将`/CrashReport`共享到本地网络以允许简单部署 * 从IIS,只需**右键单击**网站名称->浏览 * **右键单击**文件夹,并单击属性

    * 根据需要设置权限,允许至少一个人拥有部署站点的权限。
    * 单击 **确定** 并记录文件路径,以供稍后部署

http://AutoReportService.yourdomain.com

  • 打开IIS Manager

  • 右键单击"应用程序池"->"添加应用程序池" 名称:AutoReportService .Net Framework版本:2.0或更高版本

  • 右键单击"站点"->"添加网站" 站点名称:AutoReportService 应用程序池:AutoReportService * 物理路径:`/AutoReportService`

  • 在文件系统中,在网络根目录外部为日志文件创建文件夹 * 例如,C:\AutoReportLog\

  • 将`/AutoReportService`共享到本地网络以允许简单部署 * 从IIS,只需**右键单击**网站名称->浏览 * **右键单击**文件夹,并单击属性

    * 根据需要设置权限,允许至少一个人拥有部署站点的权限。
    * 单击 **确定** 并记录文件路径,以供稍后部署

http://AutoReportFiles.yourdomain.com

  • 打开IIS Manager

  • 右键单击"应用程序池"->"添加应用程序池" 名称:AutoReportFiles .Net Framework版本:2.0或更高版本

  • 右键单击"站点"->"添加网站" 站点名称:AutoReportFiles 应用程序池:AutoReportFiles * 物理路径:`/AutoReportFiles`

  • 为ReportFiles创建目录

  • <Web Root>/AutoReportFiles/ReportFiles/

  • 为日志和转储添加MIME类型 选择AutoReportFiles站点 双击 MIME类型 * 单击右上角的添加

    * 文件扩展名:".log"
    * MIME类型:"application/octet-stream"  
        ![](AddMimeTypes.JPG)

    * 再次单击"添加"

    * 文件扩展名:".dmp"
    * MIME类型:"application/octet-stream"

部署服务

在VS 2008中打开/UnrealEngine3/Development/Tools/CrashReport/中的CrashReport解决方案

http://CrashReport.yourdomain.com

  • 编辑Web.config 找到<connectionStrings>下面以<add name="CrashReportConnectionString"开头的行 根据您的连接设置编辑数据源、用户ID和密码

  • 编辑Settings.settings(或属性->设置) * 请记录您为`http://AutoReportFiles.yourdomain.com`建立的URL并在此处输入该URL。

  • 发布站点 * **右键单击** CrashReport报告->发布

    ![](PublishProject.JPG)

    * 确保设置正确

    ![](PublishProjectWizard.JPG)

    * 单击 **确定**

http://AutoReportService.yourdomain.com

  • 编辑Web.config * 编辑以`

    * 将值设置为Web服务器上的AutoReportLog目录的路径

    * 编辑以`

    * 将值设置为Web服务器上的AutoReportFiles目录的路径
    * 例如`<Web Root>/AutoReportFiles/ReportFiles/`

    * 复制崩溃报告Web.Config中的连接字符串

    * 或者编辑当前设置以与服务器和认证设置相匹配
    * 这是必需设置,因为项目使用崩溃报告dll来更新文件,但在更新时传递其自己的连接字符串。  
  • 发布站点 **右键单击**项目名称->发布 确保设置正确 * 单击 **确定**

AutoReporter.exe

* 编辑设置

* 确保所有URL指向您的生产系统中的URL。
* 默认情况下,它们使用本文档中的URL。

* 同步Web Service引用

* 展开"Web引用"
* **右键单击**"ReportService"->"更新Web引用"
* 这将确保Web引用与您发布的AutoReportService/RegisterReport.asmx Web Service实例相匹配

* **右键单击**项目名称->构建

http://AutoReportFiles.yourdomain.com

这是非常简单的网站,只是用来收集和呈现文件。要测试以确保该站点是最新的且正常运行,只需添加崩溃,访问URL,并确保单击时下载日志和转储文件。

测试

http://CrashReport.yourdomain.com

  • 访问`http://CrashReport.yourdomain.com`,您应当看到空页面

    WorkingWebsiteEmptyDatabase.JPG

AutoReporter.exe

创建崩溃

  • 打开编辑器实例 运行ExampleGame.exe是快速打开方法 发布崩溃:"~"->"调试崩溃"

  • 您将看到弹出一个对话框 输入测试摘要和说明 单击 确定

  • 如果顺利,您会看到另一个弹出窗口,其中包含指向崩溃的URL。 * 单击该URL,确保崩溃已经输入到CrashReport

  • 单击您的崩溃在CrashReport中的ID * 单击日志超链接

    * 如果顺利,将会提示您下载1_Launch.log

创建错误

  • 创建另一个崩溃 * 重复上述步骤

  • 访问URL http://CrashReport.yourdomain.com/Buggs * 从这里,您应看到一个Bugg

    * 单击其ID将显示一个新屏幕,其中列出了刚刚创建的两个测试崩溃。
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