本文档指导开发者完成阿里云移动监控 Flutter SDK 的崩溃分析的功能验证。
1. 异常上报
编写测试代码,模拟触发 Flutter 异常。例如:
Future<void>.delayed(const Duration(milliseconds: 10), () { throw StateError('Test Error'); });触发异常后,大概2分钟后在控制台-崩溃分析-自定义异常页面查看
说明异常数据从采集到上传到控制台显示,存在大约2~3分钟延迟;
如 SDK 配置异常处理策略是记录,则应用重新启动后上传异常数据;

重要
如果应用做了混淆或调试符号剥离,请自行下载原始异常堆栈在本地符号化,参考命令:
flutter symbolize -i ./stacktrace.txt -d ./app.ios-arm64.symbols
2. 自定义维度
编写测试代码,调用 SDK 自定义维度接口。例如:
await Apm.setCustomProperty("role", 1);调用自定义维度,然后触发异常,大概2分钟后在控制台-崩溃分析-自定义异常页面查看,如下图红框所示:

3. 自定义异常上报
编写测试代码,调用 SDK 自定义异常接口。例如:
try { throw StateError('Your Exception Message'); } catch (error, stackTrace) { await CrashAnalysis.recordException(error, stackTrace: stackTrace); }调用自定义异常接口后,大概2分钟后在控制台-崩溃分析-自定义异常页面查看,如下图红框所示:
说明在“是否自定义”选项中,显示为“是”的异常,特指由开发者通过 SDK 自定义接口主动上报的异常,以区别于 SDK 自动捕获的异常。
4. 监控 Isolate 异常
编写测试代码,调用 SDK 接口。例如:
final isolate = await Isolate.spawn(_isolateEntry, SendPort()); CrashAnalysis.watchIsolate(isolate); void _isolateEntry(SendPort sendPort) { sendPort.send('ready'); }调用自定义异常模型接口后,大概2分钟后在控制台-崩溃分析-自定义异常页面查看:

该文章对您有帮助吗?