Sintaxe de thread
Muitos comandos de depurador têm identificadores de thread como seus parâmetros. Um bloco ( ~ ) aparece antes do identificador de thread.
O identificador de thread pode ser um dos valores a seguir.
Identificador de thread | Descrição |
---|---|
~. |
O thread atual. |
~# |
O thread que causou a exceção atual ou o evento de depuração. |
~* |
Todos os threads no processo. |
~Número |
O thread cujo índice é Number. |
~~[TID] |
O thread cuja ID de thread é TID. (Os colchetes são necessários E você não pode adicionar um espaço entre o segundo bloco e o colchete de abertura.) |
~[Expressão] |
O thread cuja ID de thread é o inteiro ao qual a expressão numérica é resolvida. |
Os threads são atribuídos a índices à medida que são criados. Observe que esse número difere da ID do thread que o sistema operacional Microsoft Windows usa.
Quando a depuração começa, o thread atual é aquele que causou a exceção ou o evento de depuração atual (ou o thread ativo quando o depurador está anexado ao processo). Esse thread permanece o thread atual até que você especifique um novo usando um comando ~s (Definir Thread Atual) ou usando a janela Processos e Threads no WinDbg.
Os identificadores de thread normalmente aparecem como prefixos de comando. Observe que nem todos os caracteres curinga estão disponíveis em todos os comandos que usam identificadores de thread.
Um exemplo da sintaxe ~[Expression] seria ~[@$t0]
. Neste exemplo, o thread muda dependendo do valor de um pseudo-registro definido pelo usuário. Essa sintaxe permite que os scripts do depurador selecionem programaticamente um thread.
Controlando threads no modo Kernel
No modo kernel, você não pode controlar threads usando identificadores de thread. Para obter mais informações sobre como acessar informações específicas do thread no modo kernel, consulte Alterando contextos.
Nota Você pode usar o caractere de bloco ( ~ ) para especificar threads durante a depuração do modo de usuário. Na depuração do modo kernel, você pode usar o bloco para especificar processadores. Para obter mais informações sobre como especificar processadores, consulte Sintaxe de vários processadores.