Syntaxe de thread
De nombreuses commandes de débogueur ont des identificateurs de thread comme paramètres. Un tilde ( ~ ) apparaît avant l’identificateur de thread.
L’identificateur de thread peut être l’une des valeurs suivantes.
Identificateur de thread | Description |
---|---|
~. |
Thread actuel. |
~# |
Thread à l’origine de l’événement d’exception ou de débogage actuel. |
~* |
Tous les threads du processus. |
~Nombre |
Thread dont l’index est Number. |
~~[TID] |
Thread dont l’ID de thread est TID. (Les crochets sont obligatoires Et vous ne pouvez pas ajouter d’espace entre le deuxième tilde et le crochet ouvrant.) |
~[Expression] |
Thread dont l’ID de thread est l’entier auquel l’expression numérique est résolue. |
Les threads sont affectés à des index au fur et à mesure qu’ils sont créés. Notez que ce nombre diffère de l’ID de thread utilisé par le système d’exploitation Microsoft Windows.
Lorsque le débogage commence, le thread actuel est celui qui a provoqué l’événement d’exception ou de débogage actuel (ou le thread actif lorsque le débogueur est attaché au processus). Ce thread reste le thread actuel jusqu’à ce que vous en spécifiiez un nouveau à l’aide d’une commande ~s (Définir le thread actuel) ou à l’aide de la fenêtre Processus et threads dans WinDbg.
Les identificateurs de thread apparaissent généralement sous forme de préfixes de commande. Notez que tous les caractères génériques ne sont pas disponibles dans toutes les commandes qui utilisent des identificateurs de thread.
Un exemple de syntaxe ~[Expression] serait ~[@$t0]
. Dans cet exemple, le thread change en fonction de la valeur d’un pseudo-registre défini par l’utilisateur. Cette syntaxe permet aux scripts de débogueur de sélectionner par programmation un thread.
Contrôle des threads en mode noyau
En mode noyau, vous ne pouvez pas contrôler les threads à l’aide d’identificateurs de thread. Pour plus d’informations sur l’accès aux informations spécifiques au thread en mode noyau, consultez Modification des contextes.
Note Vous pouvez utiliser le caractère tilde ( ~ ) pour spécifier des threads pendant le débogage en mode utilisateur. Dans le débogage en mode noyau, vous pouvez utiliser le tilde pour spécifier des processeurs. Pour plus d’informations sur la spécification des processeurs, consultez Syntaxe multiprocesseur.