Debugging Tools for Windows

th (Trace to Next Branching Instruction)

th 命令继续执行程序直到到达任何种类的分支指令,包括条件或非条件跳转、调用、返回和系统调用。

语法

用户模式

[~Threadth [r] [= StartAddress] [Count

内核模式

th [r] [= StartAddress] [Count

参数

Thread
指定要继续执行线程。所有其它线程都会被冻结。该语法的更多信息,查看线程语法。只有用户模式下可以指定线程。
r
打开或关闭寄存器和标志位的显示。默认情况下,寄存器和标志会被显示出来。可以通过thrprtr.prompt_allow -reg命令来禁止显示寄存器。所有这三个命令都可以控制相同的设置,可以用它们中任意一个来覆盖前面命令的设置。

也可以使用l-os来禁止显示寄存器。该设置 和其他四条命令是分离的。使用rm (Register Mask)命令来控制显示哪些寄存器和标志位。

StartAddress
指定执行开始的地址。如果不使用StartAddress,则从指令指针指向的位置开始执行。该语法的更多信息,查看地址和地址区域语法
Count
指定th命令停止前要遇到的分支指令个数。默认值为1。

环境

模式 用户模式、内核模式
目标 仅活动目标
平台 所有

注释

th使得目标开始执行,直到调试器遇到分支指令或者断点。

如果当前程序计数器已经在一条分支指令上,调试器会跟踪进去并继续执行到遇到另一个分支时。进行跟踪而不是执行,是thph (Step to Next Branching Instruction)命令唯一的区别。

th 对所有活动会话都可用。该能力是thtb (Trace to Next Branch)的主要不同。

在源码模式下,一个源码行可能和多条汇编指令对应。该命令不会在当前源码行的分支指令上停止。

附加信息

相关命令的更多信息,查看控制调试目标

Build machine: CAPEBUILD