!obtrace

!obtrace 확장은 지정된 개체에 대한 개체 참조 추적 데이터를 표시합니다.

!obtrace Object

매개 변수

객체
개체 또는 경로에 대한 포인터입니다.

DLL

Kdexts.dll

추가 정보

GFlags(Global Flags 유틸리티)에 대한 자세한 내용은 WDK(Windows 드라이버 키트) 설명서 및 Mark Russinovich 및 David Solomon의 Microsoft Windows Internals 를 참조하세요.

설명

Windows의 개체 참조 추적 기능은 개체 참조 카운터가 증가하거나 감소할 때마다 순차적 스택 추적을 기록합니다.

이 확장을 사용하여 개체 참조 추적 데이터를 표시하기 전에 GFlags를 사용하여 지정된 개체에 대한 개체 참조 추적을 사용하도록 설정해야 합니다. 개체 참조 추적을 커널 플래그(런타임) 설정으로 사용하도록 설정할 수 있습니다. 이 설정은 변경 내용이 즉시 적용되지만 종료하거나 다시 시작하면 사라집니다. 또는 레지스트리 설정으로 다시 시작해야 하지만 변경할 때까지 유효합니다.

다음은 !obtrace 확장의 출력 예입니다 .

kd> !obtrace 0xfa96f700
Object: fa96f700        Image: cmd.exe
Sequence  (+/-)  Stack
--------  -----  ---------------------------------------------------
   2421d    +1  nt!ObCreateObject+180
                nt!NtCreateEvent+92
                nt!KiFastCallEntry+104
                nt!ZwCreateEvent+11
                win32k!UserThreadCallout+6f
                win32k!W32pThreadCallout+38
                nt!PsConvertToGuiThread+174
                nt!KiBBTUnexpectedRange+c

   2421e    -1  nt!ObfDereferenceObject+19
                nt!NtCreateEvent+d4
                nt!KiFastCallEntry+104
                nt!ZwCreateEvent+11
                win32k!UserThreadCallout+6f
                win32k!W32pThreadCallout+38
                nt!PsConvertToGuiThread+174
                nt!KiBBTUnexpectedRange+c

   2421f    +1  nt!ObReferenceObjectByHandle+1c3
                win32k!xxxCreateThreadInfo+37d
                win32k!UserThreadCallout+6f
                win32k!W32pThreadCallout+38
                nt!PsConvertToGuiThread+174
                nt!KiBBTUnexpectedRange+c

   24220    +1  nt!ObReferenceObjectByHandle+1c3
                win32k!ProtectHandle+22
                win32k!xxxCreateThreadInfo+3a0
                win32k!UserThreadCallout+6f
                win32k!W32pThreadCallout+38
                nt!PsConvertToGuiThread+174
                nt!KiBBTUnexpectedRange+c

   24221    -1  nt!ObfDereferenceObject+19
                win32k!xxxCreateThreadInfo+3a0
                win32k!UserThreadCallout+6f
                win32k!W32pThreadCallout+38
                nt!PsConvertToGuiThread+174
                nt!KiBBTUnexpectedRange+c

----  ----------------------------------------------------------
References: 3, Dereferences 2

다음 표에는 !obtrace 0xfa96f700 표시의 기본 표시기가 나와 있습니다.

매개 변수 의미

시퀀스

작업 순서를 나타냅니다.

+/-

참조 또는 역참조 작업을 나타냅니다.

+1은 참조 작업을 나타냅니다.

-1은 역참조 작업을 나타냅니다.

+/- n은 여러 참조/역참조 작업을 나타냅니다.

x64 기반 대상 컴퓨터의 개체 참조 추적은 항상 PASSIVE_LEVEL보다 높은 IRQL 수준에서 스택 추적을 획득할 수 없기 때문에 불완전할 수 있습니다.

언제든지 Ctrl+BREAK(WinDbg) 또는 Ctrl+C(KD)를 눌러 실행을 중지할 수 있습니다.