actionpoint
Sets and gets action point properties
Format:
TV::actionpoint action [ object-id ] [ other-args ]
Arguments:
action
The action to perform, as follows:
commands
Displays the subcommands that you can use. The CLI responds by displaying these four action subcommands. There are no arguments to this subcommand.
get
Retrieves the values of one or more action point properties. The other-args argument can include one or more property names. The CLI returns values for these properties in a list whose order is the same as the names you enter.
If you use the -all option instead of the object-id, the CLI returns a list containing one (sublist) element for each object.
properties
Lists the action point properties that TotalView can access. There are no arguments to this subcommand.
set
Sets the values of one or more properties. The other-args argument contains property name and value pairs.
object-id
An identifier for the action point.
other-args
Arguments that the get and set actions use.
Description:
The TV::actionpoint command lets you examine and set the following action point properties and states:
address
The address of the action point.
block_count
The number of addresses associated with an actionpoint.
A single line of code can generate multiple instruction sequences. For example, there may be several entry points to a subroutine, depending on where the caller is. This means that an actionpoint can be set at many addresses even if you are placing it on a single line.
Internally, a block represents one of these addresses.
block_enabled
Each individual actionpoint block is an instruction that TotalView may replace with a trap instruction. (When a trap instruction is encountered, the operating system passes control to the debugger.)
Each block can be enabled or disabled separately. This property type returns a list with in which 1 indicates if the block is enabled and 0 if it is disabled.
This is the only property that can be set from within TotalView. All others are read-only
conflicted
Indicates that another action point shares at least one of the action point blocks. If this condition exists, the block is conflicted. If a block is conflicted, TotalView completely disables the action point.
The conflicted property is 1 if the actionpoint is conflicted, and 0 if it is not.
context
A string that totally identifies an action point.
The location of every action point is represented by a string. Even action points set by clicking on a line number are represented by strings. (In this case, the string is the line number.)
Sometimes, this string is all that is needed. Usually, however, more context is needed. For example, a line number needs a file name.
enabled
A value (either 1 or 0) indicating if the action point is enabled. A value of 1 means enabled. (settable)
expression
The expression to execute at an action point. (settable)
id
The ID of the action point.
language
The language in which the action point expression is written.
length
The length in bytes of a watched area. This property is only valid for watchpoints. (settable)
line
The source line at which the action point is set. This property is not valid for watchpoints.
satisfaction_group
The group that must arrive at a barrier for the barrier to be satisfied. (settable)
share
A value (either 1 or 0) indicating if the action point is active in the entire share group. A value of 1 means that it is. (settable)
stop_when_done
A value that indicates what is stopped when a barrier is satisfied (in addition to the satisfaction set). Values are process, group, or none. (settable)
stop_when_hit
A value that indicates what is stopped when an action point is hit (in addition to the thread that hit the action point). Values are process, group, or none. (settable)
type
The object’s type. (See type_values for a list of possible types.)
type_values
Lists values that can TotalView can assign to the type property: break, eval, process_barrier, thread_barrier, and watch.
Examples:
TV::actionpoint set 5 share 1 enable 1
Shares and enables action point 5.
f p3 TV::actionpoint set -all enable 0
Disables all the action points in process 3.
foreach p [TV::actionpoint properties] {
puts [format “%20s %s” $p: \
[TV::actionpoint get 1 $p]]
Dumps all the properties for action point 1.