!running

!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