anchor.diff:  }
   
   void main(List<String> args) {
  -  parseArgs(args);
  -
  -  cmdo = new Commando(completer: debuggerCommandCompleter);
  -  cmdSubscription = cmdo.commands.listen(processCommand,
  -                                         onError: processError,
  -                                         onDone: processDone);
  -}
  +  // Setup a zone which will exit the debugger cleanly on any uncaught
  +  // exception.
  +  var zone = Zone.ROOT.fork(specification:new ZoneSpecification(
  +      handleUncaughtError: debuggerError));
  +
  +  zone.run(() {
  +      parseArgs(args);
  +      cmdo = new Commando(completer: debuggerCommandCompleter);
  +      cmdSubscription = cmdo.commands.listen(processCommand,
  +                                             onError: processError,
  +                                             onDone: processDone);
  +    });
  +}
  
positive.code:   }
    if (event == "paused") {
      cmdo.hide();
      handlePausedEvent(msg);
      cmdo.show();
      return;
    }
    if (event == "breakpointResolved") {
  
negative.code:     if (args.length == 1) {
        print("Debugger commands:\n");
        for (var command in commandList) {
          print('  ${_leftJustify(command.name, 11)} ${command.helpShort}');
        }
  
        // TODO(turnidge): Convert all commands to use the Command class.
  