| Index: tools/ddbg_service/bin/ddbg_service.dart
|
| diff --git a/tools/ddbg_service/bin/ddbg_service.dart b/tools/ddbg_service/bin/ddbg_service.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..0023ba30ddab49ae2268cf6fabddc4de76a110d5
|
| --- /dev/null
|
| +++ b/tools/ddbg_service/bin/ddbg_service.dart
|
| @@ -0,0 +1,34 @@
|
| +// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
|
| +// for details. All rights reserved. Use of this source code is governed by a
|
| +// BSD-style license that can be found in the LICENSE file.
|
| +
|
| +// A command line debugger implemented using the VM Service protocol.
|
| +
|
| +library ddbg2;
|
| +
|
| +import "dart:async";
|
| +
|
| +import 'package:ddbg/debugger.dart';
|
| +
|
| +Debugger debugger;
|
| +
|
| +void onError(self, parent, zone, error, StackTrace trace) {
|
| + if (debugger != null) {
|
| + debugger.onUncaughtError(error, trace);
|
| + } else {
|
| + print('\n--------\nExiting due to unexpected error:\n'
|
| + ' $error\n$trace\n');
|
| + exit();
|
| + }
|
| +}
|
| +
|
| +void main(List<String> args) {
|
| + // Setup a zone which will exit the debugger cleanly on any uncaught
|
| + // exception.
|
| + var zone = Zone.ROOT.fork(specification:new ZoneSpecification(
|
| + handleUncaughtError: onError));
|
| +
|
| + zone.run(() {
|
| + debugger = new Debugger();
|
| + });
|
| +}
|
|
|