Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Ekstensi !htrace menampilkan informasi pelacakan tumpukan untuk satu atau beberapa handel.
Sintaks Mode Pengguna
!htrace [Handle [Max_Traces]]
!htrace -enable [Max_Traces]
!htrace -snapshot
!htrace -diff
!htrace -disable
!htrace -?
Sintaks Mode Kernel
!htrace [Handle [Process [Max_Traces]]]
!htrace -?
Parameter
Handel Menentukan handel yang jejak tumpukannya akan ditampilkan. Jika Handle adalah 0 atau dihilangkan, jejak tumpukan untuk semua handel dalam proses akan ditampilkan.
Proses (mode Kernel saja) Menentukan proses yang handelnya akan ditampilkan. Jika Proses adalah 0 atau dihilangkan, maka proses saat ini digunakan. Dalam mode pengguna, proses saat ini selalu digunakan.
Max_Traces Menentukan jumlah maksimum jejak tumpukan yang akan ditampilkan. Dalam mode pengguna, jika parameter ini dihilangkan, maka semua jejak tumpukan untuk proses target akan ditampilkan.
-enable (Mode pengguna saja) Memungkinkan pelacakan handel dan mengambil rekam jepret pertama dari informasi handel untuk digunakan sebagai status awal oleh opsi -diff .
-snapshot (Mode pengguna saja) Mengambil rekam jepret dari informasi handel saat ini untuk digunakan sebagai status awal oleh opsi -diff .
-diff (Mode pengguna saja) Membandingkan informasi handel saat ini dengan rekam jepret terakhir dari informasi handel yang diambil. Menampilkan semua handel yang masih terbuka.
-disable (Mode pengguna saja) Menonaktifkan pelacakan handel.
-?
Menampilkan teks bantuan singkat untuk ekstensi ini di jendela Perintah Debugger.
DLL
Windows XP dan yang lebih baru
Kdexts.dll Ntsdexts.dll
Informasi Tambahan
Untuk menampilkan informasi lebih lanjut tentang handel tertentu, gunakan ekstensi !handle.
Untuk informasi tentang handel, lihat Microsoft Windows Internals by Mark Russinovich dan David Solomon.
Keterangan
Sebelum !htrace dapat digunakan, pelacakan penanganan harus diaktifkan. Salah satu cara untuk mengaktifkan pelacakan handel adalah dengan memasukkan perintah !htrace -enable . Saat pelacakan handel diaktifkan, informasi pelacakan tumpukan disimpan setiap kali proses membuka handel, menutup handel, atau mereferensikan handel yang tidak valid. Informasi pelacakan tumpukan inilah yang ditampilkan !htrace .
Catatan Anda juga dapat mengaktifkan pelacakan penanganan dengan mengaktifkan Pemverifikasi Aplikasi untuk proses target dan memilih opsi Handel .
Beberapa jejak yang dilaporkan oleh !htrace mungkin dari konteks proses yang berbeda. Dalam hal ini, alamat pengembalian mungkin tidak diselesaikan dengan benar dalam konteks proses saat ini, atau dapat mengatasi simbol yang salah.
Contoh berikut menampilkan informasi tentang semua handel dalam proses 0x81400300.
kd> !htrace 0 81400300
Process 0x81400300
ObjectTable 0xE10CCF60
##
Handle 0x7CC - CLOSE:
0x8018FCB9: ntoskrnl!ExDestroyHandle+0x103
0x801E1D12: ntoskrnl!ObpCloseHandleTableEntry+0xE4
0x801E1DD9: ntoskrnl!ObpCloseHandle+0x85
0x801E1EDD: ntoskrnl!NtClose+0x19
0x010012C1: badhandle!mainCRTStartup+0xE3
## 0x77DE0B2F: KERNEL32!BaseProcessStart+0x3D
Handle 0x7CC - OPEN:
0x8018F44A: ntoskrnl!ExCreateHandle+0x94
0x801E3390: ntoskrnl!ObpCreateUnnamedHandle+0x10C
0x801E7317: ntoskrnl!ObInsertObject+0xC3
0x77DE23B2: KERNEL32!CreateSemaphoreA+0x66
0x010011C5: badhandle!main+0x45
0x010012C1: badhandle!mainCRTStartup+0xE3
## 0x77DE0B2F: KERNEL32!BaseProcessStart+0x3D
Handle 0x7DC - BAD REFERENCE:
0x8018F709: ntoskrnl!ExMapHandleToPointerEx+0xEA
0x801E10F2: ntoskrnl!ObReferenceObjectByHandle+0x12C
0x801902BE: ntoskrnl!NtSetEvent+0x6C
0x80154965: ntoskrnl!_KiSystemService+0xC4
0x010012C1: badhandle!mainCRTStartup+0xE3
## 0x77DE0B2F: KERNEL32!BaseProcessStart+0x3D
Handle 0x7DC - CLOSE:
0x8018FCB9: ntoskrnl!ExDestroyHandle+0x103
0x801E1D12: ntoskrnl!ObpCloseHandleTableEntry+0xE4
0x801E1DD9: ntoskrnl!ObpCloseHandle+0x85
0x801E1EDD: ntoskrnl!NtClose+0x19
0x010012C1: badhandle!mainCRTStartup+0xE3
## 0x77DE0B2F: KERNEL32!BaseProcessStart+0x3D
Handle 0x7DC - OPEN:
0x8018F44A: ntoskrnl!ExCreateHandle+0x94
0x801E3390: ntoskrnl!ObpCreateUnnamedHandle+0x10C
0x801E7317: ntoskrnl!ObInsertObject+0xC3
0x77DE265C: KERNEL32!CreateEventA+0x66
0x010011A0: badhandle!main+0x20
0x010012C1: badhandle!mainCRTStartup+0xE3
0x77DE0B2F: KERNEL32!BaseProcessStart+0x3D
##
Parsed 0x6 stack traces.
Dumped 0x5 stack traces.