~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 命令访问非活动进程的虚拟内存空间。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈