Debugging Tools for Windows

!wsle

!wsle扩展命令显示所有的工作集列表项(working set list entries (WSLEs))。

语法

Windows NT 4.0 和Windows 2000的语法

!wsle [DisplayMode [Address]] 

Windows XP和之后的语法

!wsle [Flags [Address]] 

参数

DisplayMode
(仅Windows NT 4.0 和Windows 2000) 指定显示中包含的信息。可以是下面这些值中的一个(默认值为0):
0
仅显示工作集列表的基本信息。
7
显示工作集列表的基本信息,以及WSLE地址的信息、存在时间、锁定状态,以及引用计数。如果WSLE具有关联的无效页表项(PTE)或者页目录项(PDE),也会一起显示。
8
显示工作集列表的基本信息,以及索引和每个WSLE的值。
Flags
(Windows XP和之后) 指定显示中包含的信息。可以是下面这些位的任意组合。默认为0。如果使用了这个标志,则只会显示基本的工作集信息。
Bit 0 (0x1)
显示中包括每个WSLE的地址、存在时间、加锁状态以及引用计数。如果WSLE具有关联的无效页表项(PTE)或者页目录项(PDE),也会一起显示。
Bit 1 (0x2)
显示有效WSLE(valid WSLE)的总数、最后一个WSLE的索引,以及第一个空闲WSLE(free WSLE)的索引。
Bit 2 (0x4)
显示空闲WSLE的总数,以及每个空闲WSLE的索引。如果还设置了bit 1,那么还会检查空闲WSLE个数和有效WSLE的个数加起来是否等于WSLE的总个数。
Address
指定工作集列表的地址。如果省略,则使用默认工作集列表。(在Windows NT 4.0 和Windows 2000中,Address指定-1和省略的效果一样。 在Windows XP和之后版本的Windows中,Address指定0和省略的效果一样。)

DLL

Windows NT 4.0 Kdextx86.dll
Windows 2000 Kdextx86.dll
Windows XP和之后 Kdexts.dll

注释

该扩展命令可能需要很长时间来执行。

下面是在一个运行Windows Server 2003系统的x86目标机上的示例:

kd> !wsle 3

Working Set @ c0503000
    FirstFree:       a7  FirstDynamic:          4
    LastEntry      23d  NextSlot:         4  LastInitialized      259
    NonDirect       65  HashTable:        0  HashTableSize:         0

Reading the WSLE data...

Virtual Address           Age  Locked  ReferenceCount
        c0300203          0        1        1
        c0301203          0        1        1
        c0502203          0        1        1
        c0503203          0        1        1
        c01ff201          0        0        1
        77f74d19          3        0        1
        7ffdfa01          2        0        1
        c0001201          0        0        1

.....

Reading the WSLE data...
Valid WSLE entries = 0xa7
found end @ wsle index 0x259

.....

附加信息

关于工作集的信息,查看Windows Driver Kit (WDK) 文档,以及Mark Russinovich 和David Solomon 编写的Microsoft Windows Internals

Build machine: CAPEBUILD