如何在 Crashlytics/Flutter (Android) 中查看 Dart 代码堆栈跟踪而不是 Java 代码堆栈跟踪

Mar*_*ark 7 dart firebase crashlytics flutter

我们正在使用firebase_crashlyticsFlutter 插件来获取 Crashlytics 中的错误报告。不幸的是,对于 Android,只有非致命问题显示了正确的 Dart 代码堆栈跟踪。该致命问题,只能说明Java代码堆栈跟踪,这使得它们很难调试。

有什么方法可以为致命问题获取正确的 Dart 代码堆栈跟踪吗?

Nil*_*rdt 1

我将此行添加到我的main.dart以获取 Dart StackTrace:

FlutterError.onError = (error) => flutterErrorHandler(error);

runZonedGuarded<Future<void>>(
    () async => runApp(
      YourAppWidget(),
    ),
    (error, strack) async {
      debugPrint(error.toString());
      // Whenever an error occurs, call the `reportCrash`
      // to send Dart errors to Crashlytics
      Crashlytics.instance.recordError(error, strack);
    },
  );
Run Code Online (Sandbox Code Playgroud)
void flutterErrorHandler(FlutterErrorDetails details) {
  FlutterError.dumpErrorToConsole(details);

  // Report to the application zone to report to Crashlytics.
  Zone.current.handleUncaughtError(details.exception, details.stack);
}
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息,请参阅:https://pub.dev/packages/firebase_crashlytics