firebase - Flutter Firebase Crashlytics 将堆栈跟踪报告为 Java 类文件而不是 Dart 文件
问题描述
我在我们的应用程序中集成了 Flutter Crashlytics,但它在 Java 类文件中而不是在 Dart 文件中报告崩溃堆栈跟踪。所以很难推断在颤振代码库中出现这个问题的文件和行号是什么。
以下是 Firebase Crashltytics 关于未捕获异常的一份此类崩溃报告的示例:
Non-fatal Exception: java.lang.Exception: NoSuchMethodError: The method 'markNeedsBuild' was called on null.
Receiver: null
Tried calling: markNeedsBuild()
at State.setState(State.java:1168)
at _ArgonButtonState.initState.<fn>(initState.java:107)
at AnimationLocalStatusListenersMixin.notifyStatusListeners(AnimationLocalStatusListenersMixin.java:193)
at AnimationController._checkStatusChanged(AnimationController.java:773)
at AnimationController._tick(AnimationController.java:789)
at Ticker._tick(Ticker.java:237)
at SchedulerBinding._invokeFrameCallback(SchedulerBinding.java:1102)
at SchedulerBinding.handleBeginFrame.<fn>(handleBeginFrame.java:1017)
at SchedulerBinding.handleBeginFrame(SchedulerBinding.java:1015)
at SchedulerBinding._handleBeginFrame(SchedulerBinding.java:949)
以下是 Crashlytics 的初始化方式:
// Pass all uncaught errors from the framework to Crashlytics.
FlutterError.onError = Crashlytics.instance.recordFlutterError;
runZoned(() {
runApp(AppMain(homeWidget));
}, onError: Crashlytics.instance.recordError);
我报告捕获的异常如下:
Crashlytics.instance.recordError(error, stack);
如何配置 Crashlytics 以在 dart 中报告堆栈跟踪?Crashlytics 是否会为 Dart 源代码显示错误的文件名和行号?
解决方案
来自 Crashlytics 的托德。这是一种已知行为,我们正在研究未来可能的选择。Kotlin 用户会看到类似的行为。
推荐阅读
- c# - Windows App interacting with scanner
- python - 根据值对python中的字典列表进行排序并将排序的对象添加到新列表中
- java-8 - 如果输入列表已排序,流返回的列表是否总是排序?
- java - gauge framework exception
- java - 错误:无法将 Int 类型转换为类
- html - Form div vs ul如何选择?
- object-storage - IBM COS SDK - Access bucket using service ID
- javascript - getElementById for button that is dynamically created
- c++ - Insert elements into an array from a given range on a BST
- vue.js - How to get values from a template with slot and slot-scope in Vue?