ta(跟踪到地址)

ta 命令执行程序,直到达到指定的地址,并显示每个步骤(包括调用函数中的步骤)。

用户模式

[~Thread] ta [r] [= StartAddress] StopAddress 

内核模式

ta [r] [= StartAddress] StopAddress 

参数

线
指定要继续执行的线程。 所有其他线程都被冻结。 有关语法的详细信息,请参阅线程语法。 只能在用户模式下指定线程。

r
打开和关闭寄存器和标志的显示。 默认情况下将显示寄存器和标志。 可以使用 tarprtr 或 .prompt_allow -reg 命令禁用注册显示。 所有这些命令都控制相同的设置并使用其中任何命令会替代上述任何命令的使用。

还可以使用 l-os 命令禁用寄存器显示。 此设置与其他四个命令分开。 要控制显示哪些寄存器和标志,请使用 rm (Register Mask) 命令。

StartAddress
指定调试器开始执行的地址。 如果不使用 StartAddress,则执行从指令指针指向的指令开始。 有关语法的详细信息,请参阅地址和地址范围语法

StopAddress
指定执行停止的地址。 此地址必须与指令的确切地址匹配。

环境

说明
模式 用户模式、内核模式
目标 仅限实时调试
平台 全部

其他信息

有关相关命令的详细信息,请参阅 控制目标

注解

ta 命令导致目标开始执行。 此执行将继续执行,直到达到指定的指令或遇到断点。

请注意如果在内核模式下使用 ta 命令,则当在任何虚拟地址空间中的指定虚拟地址遇到指令时,执行将停止。

在此执行过程中,所有步骤都显式显示。 如果调用函数,调试器还会跟踪该函数。 因此,此命令的显示类似于在程序计数器到达指定地址之前重复执行 t (Trace) 时看到的内容。

例如,以下命令显式跟踪目标代码,直到到达当前函数的返回地址。

0:000> ta @$ra