Search notes:

~

The ~ shows information about one or more threads.
The debugger assigns ids («indexes») as threads are created in order to identify these threads with ~id. These ids are diffferent from the thread ID that is used by the OS to identify a thread.

Specifying/identifying threads:

~. current thread
~# the thread that caused the current debug event or exception
~* all threads
~~[TID] Thread whose thread id is TID, the brackets are required
~[expr] expr is a numerical expression (for example using a pseudo register: ~[@$t0]).

Current thread

The current thread is initialiy set when debugging starts to the thread that the present exception or debug event (or the active thread when the debugger attached to the process).
The current thread can then be changed with ~s.

Commands

~[#]… Meaning
e command-text execute one or more commands for the specified thread or all threads.
f, u freeze, unfreeze thread(s). Don't confuse with the u command which un-assembles machine code.
n, m suspend, resume thread
s set current thread (user mode), set processor (kernel mode)

Misc

The ~ command can also be used to show the stack backtrace of a given thread:
~2 k

Index