Navigate back to starting point

Issue #13 new
Botond Ballo repo owner created an issue

While cfviz performs navigation (moving forward and backward within the program), that's more of an implementation detail.

From the user's point of view, the cfviz command is a "query", which prints information, and one would expect it to leave the "current instruction" (i.e. where in the program you're currently stopped) unchanged.

This can be implemented by saving the "current instruction" before performing navigation, and then going back to it at the end of the command.

Naturally, this would be an rr-only feature, as it requires going back to where the user was when running the command.

Comments (3)

  1. Botond Ballo reporter

    When implementing this, rr's when command (described at https://github.com/mozilla/rr/wiki/Usage) sounds like it will be particularly useful, as it pinpoints not just where in the code you are, but which time (out of multiple times control flows over that point).

    If we tried to identify the origin point by the "where" only, then, in a situation where control flows past that point again before the end of the function (which can happen if you invoke the command from inside a loop, or from a recursive function), we would return to a wrong (later) point.

  2. Botond Ballo reporter

    Oh, except there's no way to go back to an event number as reported by when without restarting the whole replay. Hmm.

  3. Log in to comment