Version: 2017.3

CrashReport

class in UnityEngine

切换到手册

描述

包含单个应用程序崩溃事件的数据,以及提供对所有已收集的崩溃报告的访问。

如果使用适当的设置进行编译,Unity 将在您的应用程序崩溃时尝试收集有用信息,例如位置和线程堆栈跟踪。在下一次应用程序启动时,如果数据收集成功,则所有崩溃信息都可使用此 API 进行访问。

要启用崩溃报告生成,则在 iOS Player Settings 中,将“Script Call Optimization”选项设置为“Fast but no Exceptions”。在 Unity 中构建了您的 Xcode 项目后,打开该项目,然后编辑 trampoline 文件:Classes/CrashReporter.h。将 ENABLE_CUSTOM_CRASH_REPORTER 定义从 0 更改为 1。注意,iOS Player Settings 包含一个具有“Enable CrashReport API”的 Crash Reporting 设置。

注意:此 API 当前仅针对 iOS。

另请参阅:CrashReport.reports

// This example shows a list of crash reports (if available),
// and allows you to output crash data to console, or
// delete them.
public class Crashes: MonoBehaviour {
    void OnGUI() {
        var reports = CrashReport.reports;
        GUILayout.Label("Crash reports:");
        foreach (var r in reports) {
            GUILayout.BeginHorizontal();
            GUILayout.Label("Crash: " + r.time);
            if (GUILayout.Button("Log")) {
                Debug.Log(r.text);
            }
            if (GUILayout.Button("Remove")) {
                r.Remove();
            }
            GUILayout.EndHorizontal();
        }
    }
}

静态变量

lastReport返回上次崩溃报告,或者如果没有可用报告,则返回 null。
reports在一个新的数组中返回所有当前可用的报告。

变量

text格式化文本形式的崩溃报告数据。
time发生崩溃的时间。

公共函数

Remove将报告从可用报告列表中移除。

静态函数

RemoveAll将所有报告从可用报告列表中移除。
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961