次の方法で共有


!findthreads

!findthreads 拡張機能は、指定された検索条件に基づいて、ターゲット システム上の 1 つ以上のスレッドに関する概要情報を表示します。 スレッド情報は、関連するスタックが指定されたオブジェクトを参照するときに表示されます。 このコマンドは、カーネル モードのデバッグ中にのみ使用できます。

構文

!findthreads [-v][-t  <Thread Address>|-i <IRP Address>|-d <Device Address>|( -a <Pointer Address> -e <End Address> | -l <Range Length>)] 

パラメーター

-v
すべての条件一致に関する詳細情報を表示します。

-t **** スレッド アドレス
検索基準は、スレッドのすべてのモジュール、待機オブジェクト、IRP、および接続された IRP から生成されたデバイス オブジェクトとモジュールになります。 このオプションは通常、最も広範な検索基準を提供します。

-i **** IRP アドレス
検索基準は、指定された IRP のすべてのモジュールとデバイス、および IRP 自体への参照になります。

-d **** デバイス アドレス
検索基準はデバイス オブジェクトに基づきます。 これには、(ドライバー オブジェクトを介して) デバイス オブジェクトに関連付けられたモジュール、デバイス拡張機能、デバイスに接続されている IRP、およびデバイス オブジェクトに接続されている同様の情報が含まれます。

-a **** ポインター アドレス
基準にベースアドレスを追加します。 -e または -l が正しく指定されている場合、この値はメモリ範囲のベースになります。 それ以外の場合は、ポインタとして解釈されます。

-e **** 終了アドレス
-a で指定したメモリ範囲の終了アドレスを指定します。

-l **** 範囲の長さ
-a で指定したメモリ範囲の長さを指定します。

DLL

Windows 10 以降

Kdexts.dll

追加情報

カーネル モードのスレッドについては、「コンテキストの変更」を参照してください。 プロセスとスレッドの分析の詳細については、Mark Russinovich および David Solomon 著の「Microsoft Windows Internals」を参照してください。

解説

-v および -t オプションを使用した出力例を次に示します。

kd> !findthreads -v -t ffffd001ee29cdc0

Added criterion for THREAD 0xffffd001ee29cdc0
  Added criterion for THREAD STACK 0xffffd001ee2bac20
  ERROR: Object 0xffffffffffffffe0 is not an IRP
ERROR: unable to completely walk thread IRP list.
  Added criterion for MODULE kdnic(0xfffff80013120000)

Found 63 threads matching the search criteria

Found 6 criteria matches for THREAD 0xffffe0016a383740, PROCESS 0xffffe0016a220200
  Kernel stack location 0xffffd001f026a0c0 references THREAD 0xffffd001ee29cdc0
  Kernel stack location 0xffffd001f026a418 references THREAD 0xffffd001ee29cdc0
  Kernel stack location 0xffffd001f026a460 references THREAD 0xffffd001ee29cdc0
  Kernel stack location 0xffffd001f026a4d0 references THREAD 0xffffd001ee29cdc0
  Kernel stack location 0xffffd001f026a4f0 references THREAD 0xffffd001ee29cdc0
  Kernel stack location 0xffffd001f026a670 references THREAD 0xffffd001ee29cdc0


    ffffd001f026a0e0 nt!KiSwapContext+76
    ffffd001f026a190 nt!KiSwapThread+1c8
    ffffd001f026a220 nt!KiCommitThreadWait+148
    ffffd001f026a2e0 nt!KeWaitForMultipleObjects+21e
    ffffd001f026a800 nt!ObWaitForMultipleObjects+2b7
    ffffd001f026aa80 nt!NtWaitForMultipleObjects+f6
    000000c8d220fa98 nt!KiSystemServiceCopyEnd+13
    000000c8d220fa98 ntdll!ZwWaitForMultipleObjects+a
...