Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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 di 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 cambia thread; è rappresentato dalla struttura CONTEXT. Questa struttura varia con il sistema operativo e la piattaforma e occorre prestare 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 l'analisi dello stack per il thread corrente, usare la funzione StackTrace . Per modificare temporaneamente il thread usato per esaminare l'analisi dello stack, usare le funzioni SetThreadForOperation o SetThreadForOperation64 . Vedere La sezione Analisi dello stack nella sezione Uso dell'API del motore di debugger di questa documentazione per altri metodi per l'analisi dello 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 del 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 dei thread e manipolazione dei processi più potente, vedere Controllo di thread e processi nella sezione Uso dell'API del motore di debugger di questa documentazione.