Thread e processi
Terminologia
I concetti relativi ai thread e ai processi sono diversi tra il debug in modalità utente e il debug in modalità kernel.
Nel debug in modalità utente, un processo è un processo del sistema operativo e un thread è un thread del sistema operativo.
Nel debug in modalità kernel, il motore del debugger crea un processo virtuale per ogni destinazione; questo processo rappresenta il kernel e non corrisponde ad alcun processo del sistema operativo. Per ogni processore fisico nel computer di destinazione, il debugger crea un thread virtuale; questi thread rappresentano i processori e non corrispondono ad alcun thread del sistema operativo.
Quando si verifica un evento, il motore imposta il processo di evento e il thread dell'evento sul processo e sul thread (sistema operativo o virtuale) in cui si è verificato l'evento.
Il thread corrente è il thread (sistema operativo o virtuale) attualmente controllato dal motore. Il processo corrente è il processo (sistema operativo o virtuale) attualmente controllato dal motore. Quando si verifica un evento, il thread e il processo correnti vengono inizialmente impostati sul thread e sul processo dell'evento; ma possono essere modificati usando i client mentre la sessione è accessibile.
In modalità kernel, il debugger tiene traccia di un processo implicito e di un thread implicito. Il processo implicito è il processo del sistema operativo che determina la conversione da indirizzi di memoria virtuale a fisica.
Il thread implicito è il thread del sistema operativo che determina i registri della destinazione, tra cui stack di chiamate, stack frame e offset di istruzioni.
Quando si verifica un evento, il thread implicito e il processo implicito vengono inizialmente impostati sul thread e sul processo dell'evento; possono essere modificati mentre la sessione è accessibile.
Thread ed elaborazione dei dati
Il motore gestisce diverse informazioni su ogni thread e processo. Sono inclusi il thread di sistema e gli handle di sistema e gli handle di sistema e l'ambiente di elaborazione (PEB), il blocco di ambiente thread (TEB) e le relative posizioni nella memoria della destinazione.
Informazioni aggiuntive
Per informazioni dettagliate sull'uso di thread e processi, vedere Controllo di thread e processi.