anchor.diff:        case EventKind.kPauseInterrupted:
         case EventKind.kPauseException:
         case EventKind.kPausePostRequest:
  -        _reportedException = event.exception;
  -        await _pause(true);
  +        await _pause(true, pauseEvent: event);
           break;
         // TODO(djshuckerow): switch the _breakpoints notifier to a 'ListNotifier'
         // that knows how to notify when performing a list edit operation.
  
positive.code:   }
  
    /// Return a cached [Script] for the given [ScriptRef], returning null
    /// if there is no cahced [Script].
    Script getScriptCached(ScriptRef scriptRef) {
      // Check to see if this ScriptRef is really a Script.
      if (scriptRef is Script) {
        if (_scriptCache[scriptRef.id] == null) {
          _scriptCache[scriptRef.id] = scriptRef;
        }
  
        return scriptRef;
      }
  
      return _scriptCache[scriptRef?.id];
    }
  
    /// Retrieve the [Script] for the given [ScritpRef].
    ///
    /// This caches the script lookup for future invocations.
    Future<Script> getScript(ScriptRef scriptRef) async {
      if (!_scriptCache.containsKey(scriptRef.id)) {
        _scriptCache[scriptRef.id] =
            await _service.getObject(isolateRef.id, scriptRef.id);
      }
      return _scriptCache[scriptRef.id];
    }
  
    /// Return the [ScriptRef] at the given [uri].
  
negative.code:         .toList();
    }
  
    List<Frame> _framesForCallStack(
      List<Frame> stackFrames, {
      List<Frame> asyncCausalFrames,
      InstanceRef reportedException,
    }) {
      // Prefer asyncCausalFrames if they exist.
      List<Frame> frames = asyncCausalFrames ?? stackFrames;
  
      // Include any reported exception as a variable in the first frame.
      if (reportedException != null && frames.isNotEmpty) {
        final frame = frames.first;
  
        final newFrame = Frame(
  