Bagikan melalui


!obtrace

Ekstensi !obtrace menampilkan data pelacakan referensi objek untuk objek yang ditentukan.

!obtrace Object

Parameter

Benda
Penunjuk ke objek atau jalur.

DLL

Kdexts.dll

Informasi Tambahan

Untuk informasi selengkapnya tentang utilitas Bendera Global (GFlags), lihat dokumentasi Windows Driver Kit (WDK) dan Microsoft Windows Internals oleh Mark Russinovich dan David Solomon.

Keterangan

Fitur pelacakan referensi objek dari jejak tumpukan berurutan rekaman Windows setiap kali penghitung referensi objek bertambah atau dikurangi.

Sebelum menggunakan ekstensi ini untuk menampilkan data pelacakan referensi objek, Anda harus menggunakan GFlags untuk mengaktifkan pelacakan referensi objek untuk objek yang ditentukan. Anda dapat mengaktifkan pelacakan referensi objek sebagai pengaturan bendera kernel (run-time), di mana perubahan segera efektif, tetapi menghilang jika Anda mematikan atau memulai ulang; atau sebagai pengaturan registri, yang memerlukan mulai ulang, tetapi tetap efektif sampai Anda mengubahnya.

Berikut adalah contoh output dari ekstensi !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

Indikator utama dalam tampilan 0xfa96f700 !obtrace tercantum dalam tabel berikut.

Parameter Makna

Sekuens

Mewakili urutan operasi.

+/-

Menunjukkan referensi atau operasi dereferensi.

+1 menunjukkan operasi referensi.

-1 menunjukkan operasi dereferensi.

+/- n menunjukkan beberapa operasi referensi/dereferensi.

Jejak referensi objek pada komputer target berbasis x64 mungkin tidak lengkap karena tidak selalu memungkinkan untuk memperoleh jejak tumpukan pada tingkat IRQL yang lebih tinggi dari PASSIVE_LEVEL.

Anda dapat menghentikan eksekusi kapan saja dengan menekan CTRL+BREAK (di WinDbg) atau CTRL+C (dalam KD).