【问题标题】:Crashlytics - Stacktrace in Firebase logs is not readableCrashlytics - Firebase 日志中的 Stacktrace 不可读
【发布时间】:2019-10-19 00:33:20
【问题描述】:

我刚开始使用 React Native Firebase 和 Crashlytics(第 6 版)。当我在 JS catch 块中调用 firebase.crashlytics().recordError(error) 时,我在 Firebase Crashlytics 日志中看到类似于以下内容的错误。这是预期的行为吗?

这个错误日志没有任何有用的信息,所以我不确定我是否正确使用它。 (我曾考虑将其创建为错误报告,但这似乎是预期的行为或用户错误)。

触发的错误:

来自错误之一的堆栈跟踪:

如果这是预期的行为,我可能会这样称呼它:firebase.crashlytics().recordError(new Error('The error description');。这样我就知道错误在哪里,因为我无法从行号中看出错误在哪里。这样做的缺点是它不会显示实际的错误消息,所以我会知道错误在哪里,但不知道错误是什么。

总体而言,React-Native Firebase 非常适合我,因此感谢所有辛勤工作(如果您是团队的一员)!

【问题讨论】:

  • 不幸的是,这是缩小的 JS 包堆栈跟踪 - 目前无法在 Crashlytics 上为 JS 堆栈跟踪添加源映射 - 缩小的堆栈跟踪是通过构建自定义原生 iOS/Android 堆栈发送的帧。
  • 嗨,DowntownDev。你解决了这个问题吗?有同样的事情,登录firebase完全不可读。

标签: firebase crashlytics react-native-firebase


【解决方案1】:

您可以手动生成源映射,然后使用 source-map-cli 等包来查找导致问题的实际(非缩小)代码。

生成源映射运行(根据需要修改文件名):

react-native bundle --platform ios --entry-file index.js --dev false --bundle-output ./ios/main.jsbundle --assets-dest ./ios --sourcemap-output ~/Desktop/bundle.js.map

然后从终端运行找到导致问题的实际代码的行号:

source-map resolve bundle.js.map 158093 26

文件名和行号将与代码的摘录一起输出。

【讨论】:

    猜你喜欢
    • 2020-02-21
    • 2020-09-29
    • 2021-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-13
    • 2020-12-26
    • 1970-01-01
    相关资源
    最近更新 更多