~e (Thread-Specific Command)

The ~e command executes one or more commands for a specific thread or for all threads in the target process.

Do not confuse this command with the e (Enter Values) command.

~Thread e CommandString

Parameters

Thread
Specifies the thread or threads that the debugger will execute CommandString for. For more information about the syntax, see Thread Syntax.

CommandString
Specifies one or more commands to execute. You should separate multiple commands by using semicolons. CommandString includes the rest of the input line. All of the text that follows the letter "e" is interpreted as part of this string. Do not enclose CommandString in quotation marks.

Environment

Item Description
Modes User mode only
Targets Live, crash dump
Platforms All

Additional Information

For more information about other commands that control threads, see Controlling Processes and Threads.

Remarks

You can specify threads only in user mode. In kernel mode, the tilde (~) refers to a processor.

When you use the ~e command together with one thread, the ~e command only saves some typing. For example, the following two commands are equivalent.

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

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

However, you can use the ~e qualifier to repeat a command or extension command several times. When you use the qualifier in this manner, it can eliminate extra typing. For example, the following command repeats the !gle extension command for every thread that you are debugging.

0:000> ~*e !gle 

If an error occurs in the execution of one command, execution continues with the next command.

You cannot use the ~e qualifier together with execution commands (g, gh, gn, gN, gu, p, pa, pc, t, ta, tb, tc, wt).

You cannot use the ~e qualifier together with the j (Execute If-Else) or z (Execute While) conditional commands.

If you are debugging more than one process, you cannot use the ~e command to access the virtual memory space for a inactive process.