Use Chain.capture instead of RunZoned (#6420)
diff --git a/packages/flutter_tools/lib/src/hot.dart b/packages/flutter_tools/lib/src/hot.dart index 3c0a41e..240dafd 100644 --- a/packages/flutter_tools/lib/src/hot.dart +++ b/packages/flutter_tools/lib/src/hot.dart
@@ -7,6 +7,7 @@ import 'dart:io'; import 'package:path/path.dart' as path; +import 'package:stack_trace/stack_trace.dart'; import 'application_package.dart'; import 'asset.dart'; @@ -145,7 +146,7 @@ bool shouldBuild: true }) { // Don't let uncaught errors kill the process. - return runZoned(() { + return Chain.capture(() { return _run( connectionInfoCompleter: connectionInfoCompleter, route: route,
diff --git a/packages/flutter_tools/lib/src/run.dart b/packages/flutter_tools/lib/src/run.dart index 642465135..dbae42e 100644 --- a/packages/flutter_tools/lib/src/run.dart +++ b/packages/flutter_tools/lib/src/run.dart
@@ -5,6 +5,8 @@ import 'dart:async'; import 'dart:io'; +import 'package:stack_trace/stack_trace.dart'; + import 'application_package.dart'; import 'base/logger.dart'; import 'base/utils.dart'; @@ -47,7 +49,7 @@ bool shouldBuild: true }) { // Don't let uncaught errors kill the process. - return runZoned(() { + return Chain.capture(() { assert(shouldBuild == !prebuiltMode); return _run( traceStartup: traceStartup,