~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 命令访问非活动进程的虚拟内存空间。