线程语法

许多调试器命令将线程标识符作为其参数。 线程标识符前面会显示一个波形符 ( ~ ) 。

线程标识符可以是以下值之一。

线程标识符 说明

~.

当前线程。

~#

导致当前异常或调试事件的线程。

~*

进程中的所有线程。

~数量

索引为 Number 的线程。

~~[TID]

线程 ID 为 TID 的线程。 (括号是必需的,不能在第二个波形符和左方括号之间添加空格。)

~[Expression]

线程 ID 是数值表达式解析到的整数的 线程

线程在创建时分配索引。 请注意,此数字不同于 Microsoft Windows 操作系统使用的线程 ID。

调试开始时,当前线程是导致当前异常或调试事件 (线程或当调试器附加到进程) 的活动线程。 在使用 ~s (设置 当前线程) 命令或使用 WinDbg 中的“ 进程和线程”窗口 指定新线程之前,该线程将一直保留为当前线程。

线程标识符通常显示为命令前缀。 请注意,并非所有通配符都可用于使用线程标识符的所有命令。

~[Expression] 语法的一个示例是 ~[@$t0]。 在此示例中,线程根据用户定义的伪寄存器的值而更改。 此语法允许调试器脚本以编程方式选择线程。

在内核模式下控制线程

在内核模式下,无法使用线程标识符控制线程。 有关如何在内核模式下访问特定于线程的信息的详细信息,请参阅 更改上下文

注意 可以在用户模式调试期间使用波形符 ( ~ ) 来指定线程。 在内核模式调试中,可以使用波形符指定处理器。 有关如何指定处理器的详细信息,请参阅 多处理器语法