th(跟踪到下一个分支指令)
第 一 个命令执行程序,直到它达到任何类型的分支指令,包括条件分支或无条件分支、调用、返回和系统调用。
用户模式
[~Thread] th [r] [= StartAddress] [Count]
内核模式
th [r] [= StartAddress] [Count]
参数
线
指定要继续执行的线程。 所有其他线程都被冻结。 有关语法的详细信息,请参阅线程语法。 只能在用户模式下指定线程。
r
打开和关闭寄存器和标志的显示。 默认情况下将显示寄存器和标志。 可以使用 thr、pr、tr 或 .prompt_allow -reg 命令禁用注册显示。 所有这些命令都控制相同的设置,你可以使用其中任何命令替代上述任何命令的使用。
还可以使用 l-os 命令禁用寄存器显示。 此设置与其他四个命令分开。 要控制显示哪些寄存器和标志,请使用 rm (Register Mask) 命令。
StartAddress
指定调试器开始执行的地址。 如果不使用 StartAddress,则执行从指令指针指向的指令开始。 有关语法的详细信息,请参阅地址和地址范围语法。
计数
指定调试器必须遇到的分支指令数,以便 命令 结束。 默认值为 1。
环境
项 | 说明 |
---|---|
模式 | 用户模式、内核模式 |
目标 | 仅限实时调试 |
平台 | 全部 |
其他信息
有关相关命令的详细信息,请参阅 控制目标。
注解
第 四 个命令导致目标开始执行。 执行将继续,直到调试器到达分支指令或遇到断点。
如果程序计数器已在分支指令上,调试器会跟踪分支指令,并继续执行,直到到达另一个分支指令。 此跟踪(而不是执行)调用是唯一的区别(下一步分支指令)。
th 可用于所有实时会话。 此可用性是 th 和 tb(Trace to Next Branch)之间的主要区别。
在源模式下,可以将一个源行与多个程序集指令相关联。 此命令不会在与当前源行关联的分支指令处停止。