/// <summary> /// TTD API -- may change in future versions: /// Move to the given top-level call event time (assuming JsTTDPrepContextsForTopLevelEventMove) was called previously to reset any script contexts. /// This also computes the ready-to-run snapshot if needed. /// </summary> /// <param name="moveMode">Additional flags for controling how the move is done.</param> /// <param name="snapshotTime">The event time that we will start executing from to move to the given target time.</param> /// <param name="eventTime">The event that we want to move to.</param> /// <returns>The code <c>JsNoError</c> if the operation succeeded, a failure code otherwise.</returns> public void TTDMoveToTopLevelEvent( JavaScriptTTDMoveMode moveMode, long snapshotTime, long eventTime ) { Native.ThrowIfError(Native.JsTTDMoveToTopLevelEvent(this, moveMode, snapshotTime, eventTime)); }
/// <summary> /// TTD API -- may change in future versions: /// During debug operations some additional information is populated during replay. This runs the code between the given /// snapshots to populate this information which may be needed by the debugger to determine time-travel jump targets. /// </summary> /// <param name="startSnapTime">The snapshot time that we will start executing from.</param> /// <param name="endSnapTime">The snapshot time that we will stop at (or -1 if we want to run to the end).</param> /// <param name="moveMode">Additional flags for controling how the move is done.</param> /// <returns>The updated target event time set according to the moveMode (-1 if not found).</returns> public long TTDPreExecuteSnapShotInterval( long startSnapTime, long endSnapTime, JavaScriptTTDMoveMode moveMode ) { long newTargetEventTime; Native.ThrowIfError( Native.JsTTDPreExecuteSnapShotInterval( this, startSnapTime, endSnapTime, moveMode, out newTargetEventTime ) ); return(newTargetEventTime); }
/// <summary> /// TTD API -- may change in future versions: /// Before calling JsTTDMoveToTopLevelEvent (which inflates a snapshot and replays) check to see if we want to reset the script context. /// We reset the script context if the move will require inflating from a different snapshot that the last one. /// </summary> /// <param name="moveMode">Flags controlling the way the move it performed and how other parameters are interpreted.</param> /// <param name="kthEvent">When <c>moveMode == JsTTDMoveKthEvent</c> indicates which event, otherwise this parameter is ignored.</param> /// <param name="targetEventTime">The event time we want to move to or -1 if not relevant.</param> /// <returns>( Out parameter with the event time of the snapshot that we should inflate from, Optional Out parameter with the snapshot time following the event )</returns> public Tuple <long, long> TTDGetSnapTimeTopLevelEventMove( JavaScriptTTDMoveMode moveMode, uint kthEvent, ref long targetEventTime ) { long targetStartSnapTime; long targetEndSnapTime; Native.ThrowIfError( Native.JsTTDGetSnapTimeTopLevelEventMove( this, moveMode, kthEvent, ref targetEventTime, out targetStartSnapTime, out targetEndSnapTime ) ); return(Tuple.Create(targetStartSnapTime, targetEndSnapTime)); }