!poolfind
Расширение !poolfind находит все экземпляры определенного тега пула в непагированных или страничных пулах памяти.
!poolfind TagString [PoolType]
!poolfind TagValue [PoolType]
Параметры
TagString
Указывает тег пула. TagString — это строка ASCII с учетом регистра. Звездочка (*) может использоваться для представления любого числа символов; Вопросительный знак (?) можно использовать для представления точно одного символа. Если звездочка не используется, TagString должен иметь ровно четыре символа в длину.
TagValue
Указывает тег пула. TagValue должен начинаться с "0x", даже если по умолчанию радикс равен 16. Если этот параметр начинается с любого другого значения (включая "0X"), он будет интерпретирован как строка тега ASCII.
PoolType
Указывает тип пула для поиска. Разрешены следующие значения:
0
Указывает непагаченный пул памяти. Это значение по умолчанию.
1
Указывает пул памяти с страницами.
2
Указывает специальный пул.
4
Указывает пул сеансов.
DLL-библиотеки
Kdexts.dll
Дополнительная информация
Сведения о пулах памяти и тегах пула см. в документации по комплекту драйверов Windows (WDK) и внутренних компонентах Microsoft Windows, по Марку Руссиновичу и Дэвиду Соломону.
Замечания
Эта команда может занять значительное время для выполнения, в зависимости от размера памяти пула, который необходимо выполнить. Чтобы ускорить это выполнение, увеличьте скорость COM-порта с помощью клавиш CTRL+A (переключение скорости Baud) или используйте команду кэша (задать размер кэша) для увеличения размера кэша (примерно до 10 МБ).
Тег пула является тем же тегом, который передается в семейство подпрограмм ExAllocateXxx .
Ниже приведен пример. Весь непагированный пул выполняется поиск, а затем выполняется поиск по страницам пула, но команда завершается до завершения (после часа операции):
kd> !poolfind SeSd 0
Scanning large pool allocation table for Tag: SeSd (827d1000 : 827e9000)
Searching NonPaged pool (823b1000 : 82800000) for Tag: SeSd
826fa130 size: c0 previous size: 40 (Allocated) SeSd
82712000 size: c0 previous size: 0 (Allocated) SeSd
82715940 size: a0 previous size: 60 (Allocated) SeSd
8271da30 size: c0 previous size: 10 (Allocated) SeSd
82721c00 size: 10 previous size: 30 (Free) SeSd
8272b3f0 size: 60 previous size: 30 (Allocated) SeSd
8272d770 size: 60 previous size: 40 (Allocated) SeSd
8272d7d0 size: a0 previous size: 60 (Allocated) SeSd
8272d960 size: a0 previous size: 70 (Allocated) SeSd
82736f30 size: a0 previous size: 10 (Allocated) SeSd
82763840 size: a0 previous size: 10 (Allocated) SeSd
8278b730 size: 100 previous size: 290 (Allocated) SeSd
8278b830 size: 10 previous size: 100 (Free) SeSd
82790130 size: a0 previous size: 20 (Allocated) SeSd
82799180 size: a0 previous size: 10 (Allocated) SeSd
827c00e0 size: a0 previous size: 30 (Allocated) SeSd
827c8320 size: a0 previous size: 60 (Allocated) SeSd
827ca180 size: a0 previous size: 50 (Allocated) SeSd
827ec140 size: a0 previous size: 10 (Allocated) SeSd
Searching NonPaged pool (fe7c3000 : ffbe0000) for Tag: SeSd
kd> !poolfind SeSd 1
Scanning large pool allocation table for Tag: SeSd (827d1000 : 827e9000)
Searching Paged pool (e1000000 : e4400000) for Tag: SeSd
e10000b0 size: d0 previous size: 20 (Allocated) SeSd
e1000260 size: d0 previous size: 60 (Allocated) SeSd
......
e1221dc0 size: a0 previous size: 60 (Allocated) SeSd
e1224250 size: a0 previous size: 30 (Allocated) SeSd
...terminating - searched pool to e1224000
kd>