共用方式為


!obtrace

!obtrace 延伸模組會顯示指定對象的物件參考追蹤數據。

!obtrace Object

參數

物件
對象或路徑的指標。

DLL

Kdexts.dll

其他資訊

如需 Global Flags 公用程式 (GFlags) 的詳細資訊,請參閱 Windows 驅動程式套件 (WDK) 檔,以及 Mark Russinovich 和 David 所羅門的 Windows 內部 Microsoft。

備註

每當對象參考計數器遞增或遞減時,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 中)隨時停止執行。