다음을 통해 공유


~e(스레드별 명령)

~e 명령은 특정 스레드 또는 대상 프로세스의 모든 스레드에 대해 하나 이상의 명령을 실행합니다.

이 명령을 e(값 입력) 명령과 혼동하지 마세요.

~Thread e CommandString

매개 변수

스레드
디버거가 CommandString 을 실행할 스레드 또는 스레드를 지정합니다. 구문에 대한 자세한 내용은 스레드 구문을 참조하세요.

CommandString
실행할 하나 이상의 명령을 지정합니다. 세미콜론을 사용하여 여러 명령을 구분해야 합니다. CommandString 에는 나머지 입력 줄이 포함됩니다. 문자 "e"를 따르는 모든 텍스트는 이 문자열의 일부로 해석됩니다. CommandString을 따옴표로 묶지 마세요.

Environment

항목 Description
모드 사용자 모드만
대상 라이브, 크래시 덤프
플랫폼 모두

추가 정보

스레드를 제어하는 다른 명령에 대한 자세한 내용은 프로세스 및 스레드 제어를 참조하세요.

설명

사용자 모드에서만 스레드를 지정할 수 있습니다. 커널 모드에서 타일(~)은 프로세서를 나타냅니다.

~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(If-Else 실행) 또는 z(Execute While) 조건부 명령과 함께 사용할 수 없습니다.

둘 이상의 프로세스를 디버깅하는 경우 ~e 명령을 사용하여 비활성 프로세스의 가상 메모리 공간에 액세스할 수 없습니다.