Bagikan melalui


!benang

Ekstensi !thread menampilkan informasi ringkasan tentang utas pada sistem target, termasuk blok ETHREAD. Perintah ini hanya dapat digunakan selama penelusuran kesalahan mode kernel.

Perintah ekstensi ini tidak sama dengan perintah .thread (Set Register Context).

Sintaks

!thread [-p] [-t] [Address [Flags]]

Parameter

-p
Menampilkan informasi ringkasan tentang proses yang memiliki utas.

-t
Ketika opsi ini disertakan, Alamat adalah ID utas, bukan alamat utas.

Alamat
Menentukan alamat heksadesimal utas pada komputer target. Jika Alamat -1 atau dihilangkan, alamat menunjukkan utas saat ini.

Bendera
Menentukan tingkat detail yang akan ditampilkan. Bendera dapat berupa kombinasi bit berikut. Jika Bendera adalah 0, hanya sejumlah minimal informasi yang ditampilkan. Defaultnya adalah 0x6:

Bit 1 (0x2)
Menampilkan status tunggu utas.

Bit 2 (0x4)
Jika bit ini digunakan tanpa Bit 1 (0x2), bit ini tidak berpengaruh. Jika bit ini digunakan dengan Bit 1, utas ditampilkan dengan pelacakan tumpukan.

Bit 3 (0x8)
Menambahkan alamat pengembalian, penunjuk tumpukan, dan (pada sistem Itanium) nilai register bsp ke informasi yang ditampilkan untuk setiap fungsi dan menekan tampilan argumen fungsi.

Bit 4 (0x10)
Mengatur konteks proses yang sama dengan proses yang memiliki utas yang ditentukan selama durasi perintah ini. Ini menghasilkan tampilan tumpukan utas yang lebih akurat.

DLL

Kdexts.dll

Informasi Tambahan

Untuk informasi tentang utas dalam mode kernel, lihat Mengubah Konteks dan Mengontrol Proses dan Utas. Untuk informasi selengkapnya tentang menganalisis proses dan utas, lihat Microsoft Windows Internals, oleh Mark Russinovich, Alex Ionescu dan David Solomon.

Keterangan

Berikut adalah contoh menggunakan Windows 10:

0: kd> !thread 0xffffcb088f0a4480            
THREAD ffffcb088f0a4480  Cid 0e34.3814  Teb: 0000001a27ca6000 Win32Thread: 0000000000000000 RUNNING on processor 0
Not impersonating
DeviceMap                 ffffb80842016c20
Owning Process            ffffcb08905397c0       Image:         MsMpEng.exe
Attached Process          N/A            Image:         N/A
Wait Start TickCount      182835891      Ticks: 0
Context Switch Count      5989           IdealProcessor: 3             
UserTime                  00:00:01.046
KernelTime                00:00:00.296
Win32 Start Address 0x00007ffb3b2fd1b0
Stack Init ffff95818476add0 Current ffff958184769d30
Base ffff95818476b000 Limit ffff958184765000 Call 0000000000000000
Priority 8 BasePriority 8 PriorityDecrement 0 IoPriority 2 PagePriority 5
Child-SP          RetAddr           : Args to Child                                                           : Call Site
fffff802`59858c68 fffff801`b56d24aa : ffffcb08`8fd68010 00000000`00000000 fffff802`58259600 00000000`00000008 : nt!DbgBreakPointWithStatus [d:\rs2\minkernel\ntos\rtl\amd64\debugstb.asm @ 130] 
fffff802`59858c70 ffffcb08`8fd68010 : 00000000`00000000 fffff802`58259600 00000000`00000008 ffffcb08`8f0a4400 : 0xfffff801`b56d24aa
fffff802`59858c78 00000000`00000000 : fffff802`58259600 00000000`00000008 ffffcb08`8f0a4400 00000000`00000019 : 0xffffcb08`8fd68010

Gunakan perintah seperti !process untuk menemukan alamat atau ID utas utas yang Anda minati.

Informasi yang berguna dalam tampilan !thread dijelaskan dalam tabel berikut.

Parameter Makna

Alamat utas

Nomor heksadesimal setelah kata THREAD adalah alamat blok ETHREAD. Dalam contoh sebelumnya, alamat utas 0xffffcb088f0a4480 .

ID Utas

Dua angka heksadesimal setelah kata Cid adalah ID proses dan ID utas: ID proses.thread ID. Dalam contoh sebelumnya, ID proses 0x0e34, dan ID utas 0x3814.

Blok Lingkungan Utas (TEB)

Nomor heksadesimal setelah kata Teb adalah alamat blok lingkungan utas (TEB).

Win32Thread

Nomor heksadesimal setelah kata Win32Thread adalah alamat Win32Thread.

Status Rangkaian

Status utas ditampilkan di akhir baris yang dimulai dengan kata BERJALAN.

Proses Pemilik

Angka heksadesimal setelah kata Proses Pemilik adalah alamat EPROCESS untuk proses yang memiliki utas ini.

Alamat Awal

Nomor heksadesimal setelah kata Alamat Mulai adalah alamat mulai utas. Ini mungkin muncul dalam bentuk simbolis.

Fungsi Utas Pengguna

Nomor heksadesimal setelah kata Win32 Start Address adalah alamat fungsi utas pengguna.

Prioritas

Informasi prioritas untuk utas mengikuti kata Prioritas.

Pelacakan tumpukan

Pelacakan tumpukan untuk utas muncul di akhir tampilan ini.