Totalview® for HPC Reference Guide : PART I CLI Commands : Chapter 3 CLI Namespace Commands : expr
Manipulates values created by the dprint -nowait command
TV::expr action [ susp-eval-id ] [ other-args ]
The action to perform, as follows:
Displays the subcommands that you can use. The CLI responds by displaying the subcommands shown here. Do not use additional arguments with this subcommand.
Deletes all data associated with a suspended ID. If you use this command, you can specify an other-args argument. If you use the -done option, the CLI deletes the data for all completed expressions; that is, those expressions for which TV::expr get susp-eval-id done returns 1. If you specify -all, the CLI deletes all data for all expressions.
Gets the values of one or more expr properties. The other-args argument can include one or more values. The CLI returns these values in a list whose order is the same as the property names.
If you use the -all option instead of susp-eval-id, the CLI returns a list containing one (sublist) element for each object.
Displays the properties that the CLI can access. Do not use additional arguments with this option.
The ID returned or thrown by the dprint command, or printed by the dwhere command.
Arguments required by the delete subcommand.
The TV::expr command, in addition to showing you command information, returns and deletes values returned by a dprint -nowait command. You can use the following properties for this command:
TV::expr returns 1 if the process associated with susp-eval-id has finished in all focus threads. Otherwise, it returns 0.
The expression to execute.
A list of dpid.dtid values in which the expression is being -executed.
The susp-eval-id of the object.
A list of dpid IDs for the target processes that received control because they executed the function calls or compiled code. You can wait for processes to complete by entering the following:
dfocus p dfocus [TV::expr get \
    susp-eval-id \
    initially_suspended_processes] dwait
A list of pairs for each thread in the current focus. Each pair contains the thread as the first element and that thread’s result string as the second element; for example:
d1.<> dfocus {1.1 2.1} TV::expr \
    get susp-eval-id result
{{1.1 2} {2.1 3}} d1.<>
The result of expression susp-eval-id in thread 1.1 is 2, and in thread 2.1 is 3.
A list of pairs for each thread in the current focus. Each pair contains the thread ID as the first element and that thread’s status string as the second element. The possible status strings are done, suspended, and {error diag}.
For example, if expression susp-eval-id finished in thread 1.1, suspended on a breakpoint in thread 2.1, and received a syntax error in thread 3.1, that expression’s status property has the following value when TV::expr is focused on threads 1.1, 2.1, and 3.1:
d1.<> dfocus {t1.1 t2.1 t3.1} \
    TV::expr get 1 status
{1.1 done} {2.1 suspended} {3.1 {error {Symbol nothing2 not found}}}
Related Topics
dprint Command