thread
Gets and sets thread properties
Format
TV::thread 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. Do not use other arguments with this option.
get
Gets the values of one or more thread properties. The other-argsargument can include one or more property names. The CLI returns these values in a list, and places them in the same order as the names you enter.
If you use the -all option instead of object-id, the CLI returns a list containing one (sublist) element for each object.
properties
Lists an object’s properties. Do not use other arguments with this option.
set
Sets the values of one or more properties. The other-args argument contains paired property names and values.
object-id
A thread ID. If you use the -all option, the operation is carried out on all threads in the current focus.
other-args
Arguments required by the get and set subcommands.
Description
The TV::thread command examines the following thread properties and states:
canonical_executable_name
The absolute file name of the program being debugged. If you had entered a relative name, TotalView find this absolute name.
continue_sig
The signal to pass to a thread the next time it runs. On some systems, the thread receiving the signal might not always be the one for which this property was set.
current_ap_id
The ID of the action point at which the current thread is stopped.
dpid
The ID of the process associated with a thread.
duid
The internal unique ID associated with the thread.
held
A Boolean value (either 1 or 0) indicating if the thread is held. (1 means that the thread is held.) (settable)
id
The ID of the thread.
manager
A Boolean value (either 1 or 0) indicating if this is a system manger thread. (1 means that it is a system manager thread.)
pc
The current PC at which the target is executing. (settable)
sp
The value of the stack pointer.
state
The current state of the target. See state_valuesfor a list of states.
state_values
A list of values for the stateproperty: break, error, exited, running, stopped, and watch.
stop_reason_message
The reason why the current thread is stopped; for example, Stop Signal.
systid
The system thread ID.
target_architecture
The machine architecture upon which the current thread is executing.
target_byte_ordering
The bit ordering of the current machine. This is either little_endian or big_endian.
target_processor
The kind of processor upon which the current thread is executing. For example, this could be x86-64.
thread_ktid
The kernel thread ID.
thread_name
The name given to a thread by the application.
thread_utid
A user thread ID.
Examples
f p3 TV::thread get -all id
Return a list of thread IDs for process 3; for example:
1.1 1.2 1.4
proc set_signal {val} {
TV::thread set \
[f t TV::focus_threads] continue_sig $val
}
Set the starting signal for the focus thread.
proc show_signal {} {
foreach th [TV::focus_threads] {
puts "Continue_sig ($th): \
[TV::thread get $th continue_sig]";
}
}
Show all starting signals
Related Topics
Using Groups, Processes, and Threads in the Group, Process, and Thread Control chapter of the Classic TotalView User Guide