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 examines and sets the following action point properties and states:
address
The provisional and relocated block address pair of the action point. The command focus is used to relocate the provisional address. If the action point is planted in multiple locations (for instance, when it’s in both host CPU code and GPU CUDA code), this is a list of pairs, where each pair is the provisional and relocated block address.
For example, this breakpoint is planted in three locations, two of which appear as “not mapped” because the command’s focus is not on those threads:
address: {0xff00000090003998 0x00403998} {0xff000000911f6550 <NotMapped>} {0xff000000911f7d50 <NotMapped>}
block_count
The number of address blocks associated with an action point.
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 action point can be set at many addresses even if you are placing it on a single line.
Internally, an address block represents one of these addresses.
block_enabled
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 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 action point is conflicted, and 0 if it is not.
context
A string that represents the scope in which the action point was created.
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)
function
A list of soids (symbol object ID) indexed by block id, where the soid is for a subroutine or loader symbol.
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
A list of soids indexed by block id, where the soid is identifies a line number symbol where the action point is set. This property is not valid for watchpoints.
location
The string representing the breakpoint expression.
pending
A value (either 1 or 0) identifying whether the action point has at least one valid block (0) or no valid blocks (1).
pending_eval
A value (either 1 or 0) identifying whether the action point is a pending eval point (1) or is not a pending eval point. This property applies to eval points only.
pending_in_address_space
A value (either 1 or 0) identifying whether the action point has at least one relocatable block (0) or no relocatable blocks (1).
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)
shaded_by_better_match
A list of values (either 1 or 0) indexed by block id, indicating whether the block is not shaded (0) or shaded (1) by a better match.
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.
value_type
A string that represents the type of the value being watched. Valid for watch points only.
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. Here is what your output might look like:
Related Topics