Reverse Debugging with ReplayEngine™ : Chapter 2 Using ReplayEngine : CLI Support
CLI Support
The dload and dattach CLI commands have the -replay option for enabling and disabling ReplayEngine. For example:
dload -replay myProgram
The dgo, dnext, dnexti, dout, dstep, dstepi, and duntil commands let you step or run backwards by using the -back option. For example:
dnext -back
duntil -back 22
The dhistory command has the following options:
-info
Dumps useful information about ReplayEngine.
-get_time
Displays the current time. The output of this command shows an integer value followed by an address. The first integer value is a virtual timestamp. This virtual timestamp does not refer to the exact point in time; it has a granularity that is typically a few lines of code. The address value is a PC value that corresponds to a precise point within that block of code.
-go_time time
Moves the process to an execution point represented by the time argument. The time argument is a virtual timestamp as reported by dhistory -get_time. You cannot use this command to move to a specific instruction but you can use it to get to within a small block of code (usually within a few lines of your intended point in execution history). This command is typically used either for roughly bookmarking a point in a code or for searching execution history. It may need to be combined with stepping and duntil commands to return to an exact position.
-go_live
Resets the process back to record mode.
-enable
If the program has not been started, ReplayEngine is enabled when it is started. If the program is already running, ReplayEngine is enabled immediately. Recording begins at the point that ReplayEngine was enabled and moving back beyond that point is not possible.
-disable
Disables Replay Engine for the next restart for the process.
These CLI commands are explained in detail in the TotalView Reference Guide.