!stacks
!stacks 拡張機能は、カーネル スタックに関する情報を表示します。
構文
!stacks [Detail [FilterString]]
パラメーター
Detail
表示に使用する詳細レベルを指定します。 次の表に、Detail の有効な値を示します。
0 |
現在のカーネル スタックの概要を表示します。 これが既定値です。 |
1 |
現在ページ アウトされているスタックと、現在のカーネル スタックを表示します。 |
2 |
現在ページ アウトされているスタックと現在のカーネル スタックに加え、すべてのスタックの完全なパラメーターが表示されます。 |
FilterString
指定した部分文字列をシンボルに含むスレッドのみを表示します。
DLL
Kdexts.dll
追加情報
カーネル スタックについては、『Microsoft Windows Internals』(Mark Russinovich および David Solomon 共著) を参照してください。
解説
!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
.....
最初の列には、プロセス ID とスレッド ID (ピリオド区切り) が表示されます。
2 番目の列は、スレッドの ETHREAD ブロックの現在のアドレスです。
3 番目の列には、スレッドの状態 (初期化、準備完了、実行中、スタンバイ、終了、遷移、またはブロック) が表示されます。
4 番目の列には、スレッドのスタックの一番上のアドレスが表示されます。
より詳細な !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
.....