Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Расширение !stacks отображает сведения о стеках ядра.
Синтаксис
!stacks [Detail [FilterString]]
Параметры
Подробность
Указывает уровень детализации, используемый в отображении. В следующей таблице перечислены допустимые значения для сведений.
0 |
Отображает сводку по текущим стекам ядра. Это значение по умолчанию. |
1 |
Отображает стеки, которые в настоящее время выводятся на страницу, а также текущие стеки ядра. |
2 |
Отображает полные параметры для всех стеков, а также стеки, которые в настоящее время выводятся и текущие стеки ядра. |
FilterString
Отображает только потоки, содержащие указанную подстроку в символе.
DLL-библиотеки
Kdexts.dll
Дополнительная информация
Сведения о стеках ядра см. в разделе "Внутренние компоненты Microsoft Windows", Марк Руссинович и Дэвид Соломон.
Замечания
Расширение !stacks содержит краткую сводку о состоянии каждого потока. Это расширение можно использовать вместо расширения !process , чтобы получить краткий обзор системы, особенно при отладке многопоточных проблем, таких как конфликты ресурсов или взаимоблокировки.
Расширение пользовательского режима !findstack также отображает сведения о конкретных стеках.
Ниже приведен пример простого отображения !stacks :
kd> !stacks 0
Proc.Thread .Thread ThreadState Blocker
[System]
4.000050 827eea10 Blocked +0xfe0343a5
[smss.exe]
[csrss.exe]
b0.0000a8 82723b70 Blocked ntoskrnl!_KiSystemService+0xc4
b0.0000c8 82719620 Blocked ntoskrnl!_KiSystemService+0xc4
b0.0000d0 827d5d50 Blocked ntoskrnl!_KiSystemService+0xc4
.....
Первый столбец показывает идентификатор процесса и идентификатор потока (разделенный на период).
Второй столбец — текущий адрес блока ETHREAD потока.
Третий столбец показывает состояние потока (инициализировано, готово, выполняется, резервная, завершенная, переходная или заблокированная).
Четвертый столбец показывает верхний адрес в стеке потока.
Ниже приведены примеры более подробных выходных данных !stacks :
kd> !stacks 1
Proc.Thread .Thread ThreadState Blocker
[System]
4.000008 827d0030 Blocked ntoskrnl!MmZeroPageThread+0x66
4.000010 827d0430 Blocked ntoskrnl!ExpWorkerThread+0x189
4.000014 827cf030 Blocked Stack paged out
4.000018 827cfda0 Blocked Stack paged out
4.00001c 827cfb10 Blocked ntoskrnl!ExpWorkerThread+0x189
.....
[smss.exe]
9c.000098 82738310 Blocked Stack paged out
9c.0000a0 826a5190 Blocked Stack paged out
9c.0000a4 82739d30 Blocked Stack paged out
[csrss.exe]
b0.0000bc 826d0030 Blocked Stack paged out
b0.0000b4 826c9030 Blocked Stack paged out
b0.0000a8 82723b70 Blocked ntoskrnl!_KiSystemService+0xc4
.....
kd> !stacks 2
Proc.Thread .Thread ThreadState Blocker
[System]
4.000008 827d0030 Blocked ntoskrnl!KiSwapThread+0xc5
ntoskrnl!KeWaitForMultipleObjects+0x2b4
ntoskrnl!MmZeroPageThread+0x66
ntoskrnl!Phase1Initialization+0xd82
ntoskrnl!PspSystemThreadStartup+0x4d
ntoskrnl!CreateSystemRootLink+0x3d8
+0x3f3f3f3f
4.000010 827d0430 Blocked ntoskrnl!KiSwapThread+0xc5
ntoskrnl!KeRemoveQueue+0x191
.....