dhistory
Performs actions upon ReplayEngine
Format
Enable or disable recording mode
dhistory { -enable | -disable }
Get information about the current state of Replay
dhistory -info
Create a bookmark so you can return to a point in the execution history. The command returns an ID for referencing the bookmark.
dhistory { -create_bookmark [comment]|-cb [comment] }
Go to a bookmark
dhistory { -goto_bookmark ID | -gb ID }
Return to the live execution point, that is, the end of the current recording, and continue recording
dhistory -go_live
List the bookmarks currently set, with IDs and comments
dhistory { -show_bookmarks | -sb }
Remove a bookmark, or all bookmarks
dhistory { { -delete_bookmark ID | -db ID } | -clear_bookmarks }
Save a recording file
dhistory -save [ recording-file ]
Deprecated arguments for setting and going to a bookmark (use the new ‘bookmark’ arguments)
dhistory { -get_time | -go_time time }
Arguments
-enable
Enables Replay immediately. Once replay is enabled and recording has started, it cannot be disabled until restart.
-disable
Disables Replay for next restart. Once enabled, replay cannot be disabled for a live process.
-info
Displays ReplayEngine information including the current time, the live time, and whether the process is in Replay or Record mode. If you enter dhistory without arguments, -info is the default.
-create_bookmark comment
Creates a Replay bookmark at the current execution location so you can return to it later. You can specify an optional comment to this command and it will be stored with the bookmark for display when you use the show_bookmarks command. A bookmark is created with a unique numeric ID, which is the return value.
-goto_bookmark ID
Goes to the bookmark with the specified ID. This returns the focus process to the execution location where the bookmark was first created.
-go_live
Returns the process to the PC and back into Record mode. You can resume your “regular” debugging session.
-show_bookmarks
Displays all Replay bookmarks. This command shows the bookmark ID along with information about what line number, PC and function the bookmark is on. If you added a comment to help you remember the significance of the bookmark, it displays this as well.
-delete_bookmark ID
Deletes the bookmark with the given ID.
-clear_bookmarks
Deletes all Replay bookmarks.
-save recording-file
Saves the current replay history to a file. There is an optional argument to specify the name of the file to save to. The file specification can be a path or a simple file name, in which case it is saved in the current working directory. If no file is specified, the recording is saved in the current working directory with the file name replay_pid_hostname.recording.
To reload the recording file, use one of the following commands based on the functionality for loading core files. TotalView recognizes the recording file for what it is and acts appropriately.
To reload a recording at startup:
totalview executable recording-file
To reload a recording file when TotalView is running:
dattach filename -c recording-file
The recording-file argument can be either a path or a simple file name, in which case the current working directory is assumed.
-get_time — deprecated: use create_bookmark
Returns an integer value representing the program execution location at the current time. The 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.
-go_time time — deprecated: use goto_bookmark
Places the process back to the virtual time specified by the
time integer 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 code or for searching execution history. It may need to be combined with stepping and
duntil commands to return to an exact position.
Description
The dhistory command displays information about the current process either by default or when using the -info argument. In addition, options to this command can obtain a debugging time, which can be stored in a variable to go back to a particular time.
In addition, you can enable and display ReplayEngine as well as put it back into regular debugging mode using the -go_live option. You’ll need to do this after your program is placed into replay mode. This occurs whenever you use any GUI or CLI command that moves to replay mode. For example, in the CLI, this can occur when you execute such commands as dnext or dout.
Command alias
Alias | Definition | Description |
replay | dhistory | Performs actions upon ReplayEngine. |
Examples
dhistory [-info]
Typing dhistory with no arguments or with the -info argument displays the following information:
History info for process 1
Live time: 421 0x80485d6
Current time: 421 0x80485d6
Live PC: 0x80485d6
Record Mode: True
Replay Wanted: True
Stop Reason: Normal result [waitpid, search, or goto_time
Temp directory: /tmp/replay_jsm_local/replay_session_pZikY9
Event log mode: circular
Event log size: 268435456
replay -create_bookmark “This is where the crash occurs”
3
Creates a bookmark at the current execution location and returns an ID. The comment appears in the list of bookmarks displayed with -show_bookmarks (see below). Note the use of the replay alias for this command, which might be easier to remember than dhistory.
replay -show_bookmarks
Displays a list of the currently defined bookmarks:
bookmark: 1: pc: 0x004005df, function: main, line: 59, comment:
bookmark: 2: pc: 0x004006b6, function: main, line: 69, comment:
bookmark: 3: pc: 0x004006fb, function: main, line: 75, comment: This is where the crash occurs
replay -delete_bookmark 2
deleted bookmark: 2
Deletes the bookmark with the given ID, and returns a confirmation of the deleted bookmark.