dactions
Displays information, and saves and reloads action points
Format
Displays information about action points.
dactions [ ap-id-list ] [ -at source-loc ] [ -full ] [ -enabled |-disabled ] [ -enabled_blocks |-disabled_blocks ]
[ ‑block_images |-block_lines ]
Saves action points to a file.
dactions -save [ filename ]
Loads previously saved action points.
dactions -load [ filename ]
Suppresses or unsuppresses action points.
dactions [ -suppress | -unsuppress ]
Arguments
ap-id-list
A list of action point identifiers. If you specify individual action points, the information that appears is limited to these points.
Do not enclose this list within quotes or braces. See the examples at the end of this section for more information.
Without this argument, the CLI displays summary information about all action points in the processes in the focus set. If you enter one ID, the CLI displays full information for it. If you enter more than one ID, the CLI displays just summary information for each.
-at source-loc
Displays the action points at
source-loc. See
dbreak for the details on the form of
source-loc.
-full
Displays complete, rather than summary, information about the action points in the current share group. Complete information is the default when dactions is used with a single action point argument. Use -full to display complete information when invoking dactions with no arguments, or with two or more action point arguments.
-enabled
Shows only enabled action points.
-disabled
Shows only disabled action points.
-suppress
Effectively disables all existing action points. If the code is run, threads will not stop at any action points. Although you can create new action points (and delete existing ones), the new actions points too will be effectively disabled.
-unsuppress
Restores all action points to the state they were in when suppressed. Any new action points added are set as enabled.
-enabled_blocks
When displaying the full information for an action point, only shows the enabled address blocks. (See example below.)
-disabled_blocks
When displaying the full information for an action point, only shows the disabled address blocks. (See example below.)
-block_images
When displaying the full information for an action point, shows the image name of each address block.
-block_lines
When displaying the full information for an action point, shows the source line of each address block.
-save
Writes information about action points to a file.
-load
Restores action point information previously saved in a file.
filename
The name of the file into which TotalView reads and writes action point information. If you omit this file name, TotalView writes action point information to a file named program_name.TVD.v3breakpoints, where program_name is the name of your program.
Description
The dactions command displays information about action points in the processes in the current focus. If you do not indicate a focus, the default focus is at the process level. The information is printed; it is not returned.
Using the Action Point Identifier
To get the action point identifier, just enter dactions with no arguments. You need this identifier to delete, enable, and disable action points.
The identifier is returned when TotalView creates the action point. The CLI prints this ID when the thread stops at an action point.
You can include action point identifiers as arguments to the command when more detailed information is needed. The -enabled and -disabled options restrict output to action points in one of these states.
You cannot use the dactions command when you are debugging a core file or before TotalView loads executables.
Saving and Loading Action Points
The -save option writes action point information to a file so that either you or TotalView can restore your action points later. The -load option immediately reads the saved file. Using the filename argument with either option writes to or reads from this file. If you do not use this argument, TotalView names the file program_name.TVD.v3breakpoints (where program_name is the name of your program), and writes it to the directory in which your program resides.
The information saved includes expressions associated with the action point and whether the action point is enabled or disabled. For example, if your program’s name is foo, TotalView writes this information to foo.TVD.v3breakpoints.
NOTE >> TotalView does not save information about watchpoints.
If a file with the default name exists, TotalView can read this information when it starts your program. When TotalView exits, it can create the default. For more information, see the File > Preference Action Points Page information in the TotalView for HPC online Help.
Suppressing and Unsuppressing Action Points
Suppress effectively disables all existing action points. If the code is run, threads will not stop at any action points. Although you can create new action points (and delete existing ones), the new action points too will be effectively disabled. Unsuppress restores all action points to the state they were in when suppressed. Any new action points added are set as enabled.
Command alias
Alias | Definition | Description |
ac | dactions | Displays all action points |
Examples
ac -at 81
Displays information about the action points on line 81. (This example uses the alias instead of the full command name.) Here is the output from this command:
ac -at 81
1 shared action point for group 3:
1 addr=0x10001544 [arrays.F#81] Enabled
Share in group: true
Stop when hit: group
dactions 1 3
Displays information about action points 1 and 3, as follows:
2 shared action points for process 1:
1 addr=0x100012a8 [arrays.F#56] Enabled
3 addr=0x100012c0 [arrays.F#57] Enabled
If you have saved a list of action points as a string or as a Tcl list, you can use the eval command to process the list’s elements.
For example:
d1.<> dactions
2 shared action points for group 3:
3 [global_pointer_ref.cxx#52] Enabled
4 [global_pointer_ref.cxx#53] Enabled
d1.<> set group1 "3 4"
3 4
d1.<> eval ddisable $group1
d1.<> ac
2 shared action points for group 3:
3 [global_pointer_ref.cxx#52] Disabled
4 [global_pointer_ref.cxx#53] Disabled
dfocus p1 dactions
Displays information about all action points defined in process 1.
dactions -full
Displays more complete information about the action points. Here is an example of the output:
d1.<> dactions -full
3 shared action points for group 3:
1 [tx_basic_data.cxx#63] Disabled Address 0: [Enabled] main+0xe6
(0x0005fdf6)
Address 1: [Disabled] main+0xfd (0x0005fe0d)
Share in group: true
Stop when hit: process
2 [tx_basic_data.cxx#69] Disabled
Address 0: [Enabled] main+0x154 (0x0005fe64)
Address 1: [Disabled] main+0x15a (0x0005fe6a)
Address 2: [Disabled] main+0x160 (0x0005fe70)
Share in group: true
Stop when hit: process
3 [tx_basic_data.cxx#75] Enabled Address 0: [Enabled] main+0x1b5
(0x0005fec5)
Address 1: [Disabled] main+0x1bb (0x0005fecb)
Address 2: [Disabled] main+0x1c1 (0x0005fed1)
Address 3: [Disabled] main+0x1c7 (0x0005fed7)
Address 4: [Disabled] main+0x1cd (0x0005fedd)
Share in group: true
Stop when hit: process
dfocus p1 dactions -enabled
Displays information about all enabled action points in process 1
dactions n [-enabled_blocks|-disabled_blocks]
This extended example demonstrates the use of these two options.
Set a break point:
d1.<> b {bar<std::vector<int, std::allocator<int> > >::bar(int)}
Incorporating 10079 bytes of DWARF '.debug_info' information for tx_test2.cxx (linenumber)...done
1
Entering dactions reports on only the top-level action point associated with this action point number:
d1.<> dactions
1 shared action point for group 3:
1 [bar<std::vector<int,\ std::allocator<int>\ >\ >::bar(int)] Enabled
Entering dactions n reports on all action point instances (the address block) associated with this action point number:
d1.<> dactions 1
1 shared action point for group 3:
1 [bar<std::vector<int,\ std::allocator<int>\ >\ >::bar(int)] Enabled
Address 0: [Enabled] bar<std::vector<int,std::allocator<int> > >::bar+0x12 (0x004013d2)
Address 1: [Enabled] bar<std::vector<int,std::allocator<int> > >::bar+0x84 (0x00401444)
Address 2: [Disabled] bar<std::vector<double,std::allocator<double> > >::bar+0x12 (0x00401496)
Address 3: [Disabled] bar<std::vector<double,std::allocator<double> > >::bar+0x86 (0x0040150a)
Share in group: true
Stop when hit: process
Using -enabled_blocks reports on only enabled action point instances (the address block) associated with this action point number:
d1.<> dactions 1 -enabled_blocks
1 shared action point for group 3:
1 [bar<std::vector<int,\ std::allocator<int>\ >\ >::bar(int) Enabled
Address 0: [Enabled] bar<std::vector<int,std::allocator<int> > >::bar+0x12 (0x004013d2)
Address 1: [Enabled] bar<std::vector<int,std::allocator<int> > >::bar+0x84 (0x00401444)
Share in group: true
Stop when hit: process
Using -disabled_blocks reports on only disabled action point instances (the address block) associated with this action point number:
d1.<> dactions 1 -disabled_blocks
1 shared action point for group 3:
1 [bar<std::vector<int,\ std::allocator<int>\ >\ >::bar(int)] Enabled
Address 2: [Disabled] bar<std::vector<double,std::allocator<double> > >::bar+0x12 (0x00401496)
Address 3: [Disabled] bar<std::vector<double,std::allocator<double> > >::bar+0x86 (0x0040150a)
Share in group: true
Stop when hit: process
d1.<>
You could use this information, for example, to enable the currently disabled action point addresses:
d1.<> denable -block 2 3
Related Topics