!findthreads
!findthreads 확장은 제공된 검색 조건에 따라 대상 시스템에서 하나 이상의 스레드에 대한 요약 정보를 표시합니다. 연결된 스택이 제공된 개체를 참조하면 스레드 정보가 표시됩니다. 이 명령은 커널 모드 디버깅 중에만 사용할 수 있습니다.
구문
!findthreads [-v][-t <Thread Address>|-i <IRP Address>|-d <Device Address>|( -a <Pointer Address> -e <End Address> | -l <Range Length>)]
매개 변수
-v
모든 조건 일치 항목에 대한 자세한 정보를 표시합니다.
-t **** 스레드 주소
검색 조건은 스레드에 대한 모든 모듈, 대기 개체 및 IRP뿐만 아니라 연결된 IRP에서 생성된 디바이스 개체 및 모듈입니다. 이 옵션은 일반적으로 가장 광범위한 검색 조건을 제공합니다.
-나는 **** 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
...