Debugging Tools for Windows |
许多调试器命令带有线程标识符作为参数。在线程标识符前面有一个波形符(~)作为前缀。
线程标识符可以是下面的值中的一个。
线程标识符 | 说明 |
---|---|
~. | 当前线程。 |
~# | 导致当前异常或调试事件的线程。 |
~* | 进程中的所有线程。 |
~Number | 序号为 Number的线程。 |
~~[TID] | 线程 ID 为 TID 的线程。(中括号是必需的,而且在第二个~和左括号间不能有空格) |
线程被创建时就分配了序号。注意这和Microsoft Windows 使用的线程 ID 不一样。
调试开始时,导致当前异常或调试事件的是当前线程(或者是调试器附加到进程时的活动线程)。当前线程保持不变,直到使用~s (Set Current Thread)命令或者 WinDbg 中的进程和线程窗口指定了新的线程。
线程标志符经常用作命令前缀。注意在使用线程标志符的所有命令中不是所有的通配符都可以使用。
在内核模式下,不能使用线程标识符控制线程。关于在内核模式下如何访问线程相关信息的描述,请看改变上下文。
注解 波形符( ~ )在用户模式调试时用来指定线程。在内核模式调试时用来指定处理器。更多请看多处理器语法。