Thread e processi WdbgExts
Questo argomento offre una breve panoramica del modo in cui i thread e i processi possono essere modificati usando l'API WdbgExts. Per una panoramica dei thread e dei processi nel motore del debugger, vedere Thread e processi nella sezione Panoramica del motore di debugger di questa documentazione.
Discussioni
Per ottenere l'indirizzo del blocco di ambiente thread (TEB) che descrive il thread corrente, usare il metodo GetTebAddress. Nel debug in modalità kernel, la struttura KTHREAD è disponibile anche per descrivere un thread. Questa struttura viene restituita da GetCurrentThreadAddr (nel debug in modalità utente, GetCurrentThreadAddr restituisce l'indirizzo del TEB).
Il contesto del thread è lo stato mantenuto da Windows quando si cambiano thread; è rappresentato dalla struttura CONTEXT. Questa struttura varia con il sistema operativo e la piattaforma e deve essere eseguita attenzione quando si usa la struttura CONTEXT. Il contesto del thread viene restituito dalla funzione GetContext e può essere impostato usando la funzione SetContext .
Per esaminare la traccia dello stack per il thread corrente, usare la funzione StackTrace . Per modificare temporaneamente il thread usato per esaminare la traccia dello stack, usare le funzioni SetThreadForOperation o SetThreadForOperation64 . Vedere Analisi della traccia dello stack nella sezione Uso dell'API del motore di debugger di questa documentazione per altri metodi per esaminare lo stack.
Per ottenere informazioni su un thread del sistema operativo nella destinazione, usare l'operazione IoctlIG_GET_THREAD_OS_INFO.
Processi
Per ottenere l'indirizzo del blocco di ambiente di processo (PEB) che descrive il processo corrente usare il metodo GetPebAddress. Nel debug in modalità kernel, la struttura KPROCESS è disponibile anche per descrivere un processo. Questa struttura viene restituita da GetCurrentProcessAddr (nel debug in modalità utente , GetCurrentProcessAddr restituisce l'indirizzo del PEB).
Il metodo GetCurrentProcessHandle restituisce l'handle di sistema per il processo corrente.
Informazioni aggiuntive
Per un'API di manipolazione e elaborazione dei thread più potente, vedere Controllo dei thread e dei processi nella sezione Uso dell'API del motore di debugger di questa documentazione.