Todos os threads criados na sessão atual são exibidos na janela Depuração. Você pode abrir a janela Depuração, escolhendo Janela > Depuração > Depuração (Alt-Shift-9).
Somente uma thread é a thread atual em um determinado momento. Por padrão, a thread atual é a thread na sessão atual a partir do qual o depurador ganhou controle. Quando você alterna entre threads para depurar, a janela Variáveis locais é atualizada automaticamente para refletir os dados aplicáveis a esse thread.
Para alterar a thread atual:
Você pode suspender a execução de uma thread se achar que está causando problemas e mais tarde retomar a thread assim que o problema tiver sido resolvido. A janela Depuração permite que você veja facilmente os threads na sessão de depuração e identifique os threads em execução e suspensos. O ícone à esquerda do nome do thread indica se o thread está suspenso ou aguardando a retomada.
Você pode suspender, interromper e retomar os threads do aplicativo, clicando com o botão direito do mouse em um thread na janela Depuração e escolhendo uma ação no menu popup. Como alternativa, você pode clicar nos botões Retomar ( ) e Suspender (
) no lado direito da janela Depuração. Você pode ocultar os botões Suspender e Retomar, clicando no botão Mostrar suspender/retomar tabela (
) na barra de ferramentas da janela Depuração.
Um ícone de thread na margem esquerda do editor de código-fonte indica que existe um thread suspenso nessa linha. A tabela seguinte descreve os ícones que representam os estados do thread que aparecem no editor de código-fonte durante uma sessão de depuração.
Ícones | Descrição |
---|---|
![]() |
Outros threads suspensos |
![]() |
Outros threads suspensos ao alcançar um ponto de interrupção |
Para alternar um thread suspenso para o thread atual:
Ao depurar uma aplicação multi-thread, um passo em uma thread específica pode ser interrompido por um ponto de interrupção encontrado em alguma outra thread. Quando isso ocorre, o IDE lhe dá a opção de alternar os threads. O IDE não alterna automaticamente o contexto para o novo thread.
Quando um ponto de interrupção em outro thread é alcançado, você é avisado por um painel que aparece na janela Depuração. O thread atual permanece assim até que você o alterne explicitamente ou que o thread pare. A qualquer momento, você pode clicar na seta no painel na janela Depuração e escolher um thread para o qual alternar. Isso permite que você continue a depurar o thread atual e quando for conveniente, é possível alternar para o thread que alcançou um ponto de interrupção.
Você pode exibir o código-fonte de uma thread no Editor de código-fonte do IDE, se achar que está causando problemas e deseja examiná-lo mais.
Para exibir uma origem de thread:
Se a origem ds thread estiver disponível, o Editor de código-fonte saltará para a chamada atual na pilha de chamadas da thread.