跳至主内容
更新日志
  • RUM 补齐微信小程序、鸿蒙与 Android NDK 的崩溃分析

    崩溃日志里的堆栈通常是一串内存地址或混淆后的短名称,看不出是哪个函数、哪一行代码出错,需要符号文件才能还原回真实源码位置。这次更新把符号化能力补齐到微信小程序、HarmonyOS 和 Android NDK 原生代码,加上此前已支持的 Web 和 iOS,RUM 现在覆盖了线上大部分客户端类型。

    原理是:构建时生成的 SourceMap、ProGuard mapping 或调试符号文件记录了压缩混淆后的位置与原始源码位置的对应关系,上传后 RUM 按服务名和版本匹配,把崩溃堆栈里的地址或短名称还原成函数名、文件名和行号。

    微信小程序 RUM

    线上错误堆栈原本只有转换后的文件路径和行列号。现在用 miniprogram-ci get-dev-source-map 生成 sourcemap,通过 Flashduty CLI 上传即可自动还原,同时补上了 issue 分组和小程序专属看板。

    HarmonyOS 鸿蒙 RUM

    鸿蒙崩溃栈可能同时包含 ArkTS/JS 帧和 Native .so 帧。装好 @flashcatcloud/hvigor-plugin 插件后,构建时自动上传 ArkTS sourcemap 和未 strip 的 Native 符号文件,两类帧都能在控制台还原。看板、符号管理页面完成鸿蒙适配,并补了一篇 Trace 集成文档。

    Android NDK 原生崩溃符号化

    修了 NDK 崩溃的分组逻辑,同一个崩溃点不再被拆成多条不相关 issue。上传未剥离、带 GNU build-id 的 .so 文件后,C/C++ 层崩溃地址可还原成函数名和行号;原生启动指标也拆开了冷启动、热启动分别统计。

    告警解耦与私有化部署

    RUM 告警此前必须经过 On-call 模块才能通知到人,现在可以直接以 Webhook 形式 POST 到自己的接收端,纯做前端监控、未接入 On-call 的私有化部署客户也能收到告警。SDK 同步支持自定义数据上报地址和 CDN,便于私有化环境接入。

    开始使用

    前往 Flashduty 控制台 → RUM → 应用管理 → 源码管理上传对应平台的符号文件,告警投递方式在「应用管理 → 告警设置」中配置。

    更多介绍参考源码映射与异常追踪Issue 告警