anchor.diff:        'params': params
       };
       final String jsonEncoded = json.encode(<Map<String, dynamic>>[req]);
  -    debugPrint(jsonEncoded);
  +    _debugPrint(jsonEncoded);
   
       // Set up the response future before we send the request to avoid any
       // races.
  
positive.code:     return script.sourceLocation(frame.location.token);
    }
  
    Future<Map<String, dynamic>> _waitFor({String event, int id}) async {
      // Capture output to a buffer so if we don't get the repsonse we want we can show
      // the output that did arrive in the timeout error.
      final StringBuffer messages = new StringBuffer();
      _stdout.stream.listen(messages.writeln);
      _stderr.stream.listen(messages.writeln);
  
      final Completer<Map<String, dynamic>> response = new Completer<Map<String, dynamic>>();
      final StreamSubscription<String> sub = _stdout.stream.listen((String line) {
        final dynamic json = _parseFlutterResponse(line);
  
negative.code:       }
      });
      
      return _timeoutWithMessages(() => response.future,
              timeout: timeout,
              message: event != null
                  ? 'Did not receive expected $event event.'
                  : 'Did not receive response to request "$id".')
          .whenComplete(() => sub.cancel());
    }
  
    Future<T> _timeoutWithMessages<T>(Future<T> Function() f, {Duration timeout, String message}) {
      // Capture output to a buffer so if we don't get the response we want we can show
      // the output that did arrive in the timeout error.
      final StringBuffer messages = new StringBuffer();
      final DateTime start = new DateTime.now();
      void logMessage(String m) {
        final int ms = new DateTime.now().difference(start).inMilliseconds;
        messages.writeln('[+ ${ms.toString().padLeft(5)}] $m');
      }
      final StreamSubscription<String> sub = _allMessages.stream.listen(logMessage);
      
      return f().timeout(timeout ?? defaultTimeout, onTimeout: () {
        logMessage('<timed out>');
        throw '$message\nReceived:\n${messages.toString()}';
      }).whenComplete(() => sub.cancel());
    }
  
    Map<String, dynamic> _parseFlutterResponse(String line) {
  