~e(线程特定的命令)

~e 命令针对特定线程或目标进程中的所有线程执行一个或多个命令。

不要将此命令与 e (enter Values) 命令混淆。

~Thread e CommandString

参数

线程
指定调试器将为其执行 CommandString 的 线程。 有关语法的详细信息,请参阅 线程语法

CommandString
指定要执行的一个或多个命令。 应使用分号分隔多个命令。 CommandString 包括输入行的其余部分。 字母“e”后面的所有文本都解释为此字符串的一部分。 不要将 CommandString 括在引号中。

环境

说明
模式 仅限用户模式
目标 实时、故障转储
平台 全部

其他信息

有关控制线程的其他命令的详细信息,请参阅 控制进程和线程

注解

只能在用户模式下指定线程。 在内核模式下,平铺 (~) 表示处理器。

~e 命令与一个线程一起使用时, ~e 命令仅保存一些键入内容。 例如,以下两个命令是等效的。

0:000> ~2e r; k; kd 

0:000> ~2r; ~2k; ~2kd 

但是,可以使用 ~e 限定符多次重复命令或扩展命令。 以这种方式使用限定符时,可以消除额外的键入。 例如,以下命令将针对要调试的每个线程重复 !gle 扩展命令。

0:000> ~*e !gle 

如果执行一个命令时出错,将继续执行下一个命令。

不能将 ~e 限定符与执行命令一起使用, (gghgngNguppapcttatbtcwt) 。

不能将 ~e 限定符与 j (Execute If-Else) z (Execute While) 条件命令一起使用。

如果要调试多个进程,则无法使用 ~e 命令访问非活动进程的虚拟内存空间。