| Online Eiffel Documentation |
| Documentation Home > Tools > EiffelStudio > EiffelStudio Reference > EiffelStudio Debugger > Execution record and replay |
| EiffelStudio |
Replay (recorded) execution |
The replay functionality is graphically available on the Call stack tool, or though the "Execution" menu.
First, you must be sure execution recording is activated (read how to record execution).
Now, whenever the application is stopped in the debugger, you can replay the recorded execution by clicking on the "Replay" button:

Now we are in "execution replay" mode, as you can notice the "Replay" button is enabled, and there is a new commands bar with replay "Back", "Forth", "Previous", "Next", and "Go to". And on the right the number indicates the call stack depth, the breakable index, and the nested breakable index.

If you expand a node, you will be able to browse the whole recorded execution history from this stack (if you expand the bottom node, the whole recorded execution history will be available).
You can still select other call stack level as you do in normal debugging mode to inspect them, in this case the red arrow stick to the replayed call, and the green arrow show you the selected call stack level.

Here we clicked on "Back" 3 times, you can now also replay "Forth" 3 times. When you execute a "Replay" operation, the debugger restores the related recorded values, and the various debugger tools are updated with tools values (including the watch tools)

And then if you replay "previous" twice, you rewind the execution in the same call stack frame, you will notice the "blue" dot to show the replayed execution cursor.

When replaying, you will notice the debugging tools are synchronized and refresh.
This means the objects tool, the watch tools, and the feature tool will display the replayed context (values, and replayed execution cursor).
If you evaluate an expression in a watch tool, it will use the recorded values, then be careful about side effects, since you can modify those values...
| Copyright 1993-2006 Eiffel Software. All rights reserved. |