Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La extensión !obtrace muestra los datos de seguimiento de referencia de objetos para el objeto especificado.
!obtrace Object
Parámetros
Objeto
Un puntero al objeto o una ruta.
Archivo DLL
Kdexts.dll
Información adicional
Para obtener más información sobre la utilidad Global Flags (GFlags), consulte la documentación del Kit de controladores de Windows (WDK) y Microsoft Windows Internals por Mark Russinovich y David Solomon.
Comentarios
La característica de seguimiento de referencia a objetos de Windows registra seguimientos secuenciales de pila cada vez que se incrementa o decrementa un contador de referencia a objetos.
Antes de usar esta extensión para mostrar los datos de seguimiento de referencia a objetos, debe usar GFlags para habilitar el seguimiento de referencia a objetos para el objeto especificado. Puede habilitar el seguimiento de referencia a objetos como una configuración de marca de kernel (tiempo de ejecución), en la que el cambio es efectivo inmediatamente, pero desaparece si se apaga o se reinicia; o como configuración del Registro, que requiere un reinicio, pero sigue siendo efectiva hasta que la cambie.
Este es un ejemplo de la salida de la extensión !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
Los indicadores principales de la visualización !obtrace 0xfa96f700 se enumeran en la siguiente tabla.
| Parámetro | Significado |
|---|---|
Secuencia |
Representa el orden de las operaciones. |
+/- |
Indica una referencia o una operación de desreferencia. +1 indica una operación de referencia. -1 indica una operación de desreferencia. +/- n indica varias operaciones de referencia o desreferencia. |
Los seguimientos de referencia a objetos en equipos x64 pueden estar incompletas porque no siempre es posible adquirir seguimientos de pila en niveles IRQL superiores a PASSIVE_LEVEL.
Puede detener la ejecución en cualquier momento. Para ello, pulse CTRL+BREAK (en WinDbg) o CTRL+C (en KD).