ta (Trace to Address)
The ta command executes the program until the specified address is reached, displaying each step (including steps within called functions).
User-Mode
[~Thread] ta [r] [= StartAddress] StopAddress
Kernel-Mode
ta [r] [= StartAddress] StopAddress
Parameters
Thread
Specifies threads to continue executing. All other threads are frozen. For more information about the syntax, see Thread Syntax. You can specify threads only in user mode.
r
Turns on and off the display of registers and flags. By default, the registers and flags are displayed. You can disable register display by using the tar, pr, tr, or .prompt_allow -reg commands. All of these commands control the same setting and use of any of them overrides any previous use of these commands.
You can also disable register display by using the l-os command. This setting is separate from the other four commands. To control which registers and flags are displayed, use the rm (Register Mask) command.
StartAddress
Specifies the address where the debugger begins execution. If you do not use StartAddress, execution begins at the instruction that the instruction pointer points to. For more information about the syntax, see Address and Address Range Syntax.
StopAddress
Specifies the address at which execution stops. This address must match the exact address of an instruction.
Environment
Item | Description |
---|---|
Modes | user mode, kernel mode |
Targets | live debugging only |
Platforms | all |
Additional Information
For more information about related commands, see Controlling the Target.
Remarks
The ta command causes the target to begin executing. This execution continues until the specified instruction is reached or a breakpoint is encountered.
Note If you use the ta command in kernel mode, execution stops when an instruction is encountered at the specified virtual address in any virtual address space.
During this execution, all steps are displayed explicitly. If a function is called, the debugger also traces through that function. Therefore, the display of this command resembles what you see if you executed t (Trace) repeatedly until the program counter reached the specified address.
For example, the following command explicitly traces through the target code until the return address of the current function is reached.
0:000> ta @$ra