Bagikan melalui


Utas dan Proses WdbgExts

Topik ini memberikan gambaran singkat tentang bagaimana utas dan proses dapat dimanipulasi menggunakan API WdbgExts. Untuk gambaran umum utas dan proses di mesin debugger, lihat Utas dan Proses di bagian Gambaran Umum Mesin Debugger dari dokumentasi ini.

Thread

Untuk mendapatkan alamat blok lingkungan utas (TEB) yang mendeskripsikan utas saat ini, gunakan metode GetTebAddress. Dalam penelusuran kesalahan mode kernel, struktur KTHREAD juga tersedia untuk menggambarkan utas. Struktur ini dikembalikan oleh GetCurrentThreadAddr (dalam debugging mode pengguna, GetCurrentThreadAddr mengembalikan alamat TEB).

Konteks utas adalah status yang dipertahankan oleh Windows saat mengganti utas; ini diwakili oleh struktur CONTEXT. Struktur ini bervariasi menurut sistem operasi dan platform serta kehati-hatian harus dilakukan saat menggunakan struktur CONTEXT. Konteks utas dikembalikan oleh fungsi GetContext dan dapat diatur dengan fungsi SetContext.

Untuk memeriksa stack trace untuk utas saat ini, gunakan fungsi StackTrace. Untuk mengubah utas yang digunakan untuk memeriksa pelacakan tumpukan untuk sementara, gunakan fungsi SetThreadForOperation atau SetThreadForOperation64 . Lihat Memeriksa Jejak Tumpukan di bagian Menggunakan API Mesin Debugger dari dokumentasi ini untuk metode tambahan untuk memeriksa tumpukan.

Untuk mendapatkan informasi tentang utas sistem operasi di target, gunakan operasi IoctlIG_GET_THREAD_OS_INFO.

Proses

Untuk mendapatkan alamat blok lingkungan proses (PEB) yang menjelaskan proses saat ini, gunakan metode GetPebAddress. Dalam debugging mode kernel, struktur KPROCESS juga tersedia untuk menggambarkan suatu proses. Struktur ini dikembalikan oleh GetCurrentProcessAddr (dalam penelusuran kesalahan mode pengguna, GetCurrentProcessAddr mengembalikan alamat PEB).

Metode GetCurrentProcessHandle mengembalikan handel sistem untuk proses saat ini.

Informasi Tambahan

Untuk manipulasi utas yang lebih kuat dan API manipulasi proses, lihat Mengontrol Utas dan Proses di bagian Menggunakan API Mesin Debugger dari dokumentasi ini.