崩溃分析

本文档指导开发者完成阿里云移动监控 Unity SDK 的崩溃分析的功能验证。

1. 异常上报

  1. 编写测试代码,模拟/触发 Unity 脚本异常。例如:

    throw new InvalidOperationException("Your exception message");
  2. 触发异常后,大概2分钟后在控制台-崩溃分析-自定义异常页面查看

    说明
    • 异常数据从采集到上传到控制台显示,存在大约2~3分钟延迟;

    • 如 SDK 配置异常处理策略是记录,则应用重新启动后上传异常数据;

    image

2. 自定义维度

  1. 编写测试代码,调用 SDK 自定义维度接口。例如:

    using Alicloud.Apm;
    
    // 以下是代码示例
    Apm.SetCustomKeyValue("level", 1);
  2. 调用自定义维度,然后触发异常,大概2分钟后在控制台-崩溃分析-自定义异常页面查看,如下图红框所示:image

3. 自定义异常上报

  1. 编写测试代码,调用 SDK 自定义异常接口。例如:

    using Alicloud.Apm.CrashAnalysis;
    
    // 以下是代码示例
    CrashAnalysis.RecordException(new InvalidOperationException("Your exception message")); 
  2. 调用自定义异常接口后,大概2分钟后在控制台-崩溃分析-自定义异常页面查看,如下图红框所示:image

    说明

    在“是否自定义”选项中,显示为“是”的异常,特指由开发者通过 SDK 自定义接口主动上报的异常,以区别于 SDK 自动捕获的异常。

4. 自定义其它脚本语言异常

  1. 编写测试代码,调用 SDK 自定义异常模型接口。例如 Lua 语言异常:

    using Alicloud.Apm.CrashAnalysis;
    
    // 以下是代码示例
    var model = new ExceptionModel("LuaRuntimeError", "attempt to index a nil value", SourceLanguage.Lua);
    model.StackTrace.Add(StackFrame.FromSymbol("main", "script.lua", 15, "lua"));
    model.StackTrace.Add(StackFrame.FromSymbol("doSomething", "utils.lua", 8, "lua"));
    
    CrashAnalysis.RecordExceptionModel(model);
  2. 调用自定义异常模型接口后,大概2分钟后在控制台-崩溃分析-自定义异常页面查看,如下图红框所示:image

    说明

    目前 Unity SDK 仅支持 C# 和 Lua 脚本语言异常类型。