Sintassi del thread
Molti comandi del debugger hanno identificatori di thread come parametri. Viene visualizzata una tilde ( ~ ) prima dell'identificatore del thread.
L'identificatore del thread può essere uno dei valori seguenti.
Identificatore del thread | Descrizione |
---|---|
~. |
Thread corrente. |
~# |
Thread che ha causato l'eccezione corrente o l'evento di debug. |
~* |
Tutti i thread nel processo. |
~Numero |
Thread il cui indice è Number. |
~~[TID] |
Thread il cui ID thread è TID. Le parentesi quadre sono obbligatorie e non è possibile aggiungere uno spazio tra la seconda tilde e la parentesi aperta. |
~[Espressione] |
Thread il cui ID thread è il numero intero in cui viene risolta l'espressione numerica. |
Ai thread vengono assegnati indici durante la creazione. Si noti che questo numero è diverso dall'ID thread usato dal sistema operativo Microsoft Windows.
All'avvio del debug, il thread corrente è quello che ha causato l'eccezione o l'evento di debug corrente (o il thread attivo quando il debugger è collegato al processo). Tale thread rimane il thread corrente fino a quando non si specifica un nuovo thread usando un comando ~s (Imposta thread corrente) o usando la finestra Processi e thread in WinDbg.
Gli identificatori di thread vengono in genere visualizzati come prefissi dei comandi. Si noti che non tutti i caratteri jolly sono disponibili in tutti i comandi che usano identificatori di thread.
Un esempio della sintassi ~[Expression] è ~[@$t0]
. In questo esempio il thread cambia a seconda del valore di uno pseudoregistrazione definito dall'utente. Questa sintassi consente agli script del debugger di selezionare un thread a livello di codice.
Controllo dei thread in modalità kernel
In modalità kernel non è possibile controllare i thread usando gli identificatori di thread. Per altre informazioni su come accedere a informazioni specifiche del thread in modalità kernel, vedere Changing Contexts.For more information about how to access thread-specific information in kernel mode, see Changing Contexts.
Nota È possibile usare il carattere tilde ( ~ ) per specificare i thread durante il debug in modalità utente. Nel debug in modalità kernel, è possibile usare la tilde per specificare i processori. Per altre informazioni su come specificare i processori, vedere Sintassi multiprocessore.