!달리기
!running 확장은 대상 컴퓨터의 모든 프로세서에서 실행 중인 스레드 목록을 표시합니다.
!running [-i] [-t]
매개 변수
-나는
디스플레이에 유휴 프로세서도 포함되도록 합니다.
-t
각 프로세서에 대해 스택 추적이 표시되도록 합니다.
DLL
Kdexts.dll
추가 정보
다중 프로세서 컴퓨터 디버깅에 대한 자세한 내용은 다중 프로세서 구문을 참조하세요.
설명
옵션 없이 !running 은 모든 활성 프로세서와 모든 유휴 프로세서의 선호도를 표시합니다. 모든 활성 프로세서의 경우 프로세스 제어 블록(PRCB)의 현재 및 다음 스레드 필드와 16개의 기본 제공 큐에 대기 중인 스핀 잠금의 상태도 표시됩니다.
다음은 다중 프로세서 Itanium 시스템의 예입니다.
0: kd> !running
System Processors 3 (affinity mask)
Idle Processors 0
Prcb Current Next
0 e0000000818f8000 e0000000818f9e50 e0000000866f12f0 ................
1 e000000086f16010 e00000008620ebe0 e000000086eddbc0 .O..............
각 줄의 끝에 있는 16자는 기본 제공 대기 중인 스핀 잠금(PRCB의 LockQueue 항목)을 나타냅니다. 마침표(. )는 잠금이 사용 중이 아님을 나타내고, O 는 잠금이 이 프로세서가 소유하고, W 는 프로세서가 잠금을 위해 대기 중임을 의미합니다. 스핀 잠금 큐에 대한 자세한 내용을 보려면 !qlocks를 사용합니다.
다음은 활성 및 유휴 프로세서와 해당 스택 추적을 보여 주는 예제입니다.
0: kd> !running -it
System Processors f (affinity mask)
Idle Processors f
All processors idle.
Prcb Current Next
0 ffdff120 805495a0 ................
ChildEBP RetAddr
8053e3f0 805329c2 nt!RtlpBreakWithStatusInstruction
8053e3f0 80533464 nt!_KeUpdateSystemTime+0x126
ffdff980 ffdff980 nt!KiIdleLoop+0x14
1 f87e0120 f87e2e60 ................
ChildEBP RetAddr
f87e0980 f87e0980 nt!KiIdleLoop+0x14
2 f87f0120 f87f2e60 ................
ChildEBP RetAddr
f87f0980 f87f0980 nt!KiIdleLoop+0x14
3 f8800120 f8802e60 ................
ChildEBP RetAddr
f8800980 f8800980 nt!KiIdleLoop+0x14