~e (線程特定命令)
~e 命令會針對特定線程或目標進程中的所有線程執行一或多個命令。
請勿將此命令與 e (Enter Values) 命令混淆。
~Thread e CommandString
參數
線
指定調試程式將為其執行 CommandString 的線程或線程。 如需語法的詳細資訊,請參閱 線程語法。
CommandString
指定要執行的一或多個命令。 您應該使用分號分隔多個命令。 CommandString 包含輸入行的其餘部分。 在字母 「e」 後面的所有文字都會解譯為此字串的一部分。 請勿以引號括 住 CommandString 。
Environment
項目 | 說明 |
---|---|
模式 | 僅限使用者模式 |
目標 | 即時、損毀傾印 |
平台 | 全部 |
其他資訊
如需控制線程之其他命令的詳細資訊,請參閱 控制進程和線程。
備註
您只能在使用者模式中指定線程。 在核心模式中,並排符號 (~) 是指處理器。
當您搭配一個線程使用 ~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)。
您無法搭配 j (Execute If-Else) 或 z (Execute While) 條件式命令使用 ~e 限定符。
如果您要偵錯多個進程,就無法使用 ~e 命令來存取非使用中進程的虛擬記憶體空間。