restartFrame method

Future<RestartFrameResult> restartFrame(
  1. CallFrameId callFrameId, {
  2. @Enum(['StepInto']) String? mode,
})

Restarts particular call frame from the beginning. The old, deprecated behavior of restartFrame is to stay paused and allow further CDP commands after a restart was scheduled. This can cause problems with restarting, so we now continue execution immediatly after it has been scheduled until we reach the beginning of the restarted frame.

To stay back-wards compatible, restartFrame now expects a mode parameter to be present. If the mode parameter is missing, restartFrame errors out.

The various return values are deprecated and callFrames is always empty. Use the call frames from the Debugger#paused events instead, that fires once V8 pauses at the beginning of the restarted function. callFrameId Call frame identifier to evaluate on. mode The mode parameter must be present and set to 'StepInto', otherwise restartFrame will error out.

Implementation

Future<RestartFrameResult> restartFrame(
  CallFrameId callFrameId, {
  @Enum(['StepInto']) String? mode,
}) async {
  assert(mode == null || const ['StepInto'].contains(mode));
  var result = await _client.send('Debugger.restartFrame', {
    'callFrameId': callFrameId,
    if (mode != null) 'mode': mode,
  });
  return RestartFrameResult.fromJson(result);
}