~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 限定符与执行命令(g、gh、gn、gN、gu、p、pa、pc、t、ta、tb、tc 和 wt)一起使用。
不能将 ~e 限定符与 j (Execute If-Else) 或 z (Execute While) 条件命令一起使用。
如果要调试多个进程,则无法使用 ~e 命令访问非活动进程的虚拟内存空间。