Se você trabalha com threads, sabe que um problema é a depuração de uma thread específica. Especialmente se há muitas instâncias de uma thread.
Dependendo da situação, fica caótico.
Uma maneira de se entender com o Delphi nesta situação é usar a janela "Thread Status" (Menu: View->Debug Windows->Threads, ou CTRL+ALT+T).
Isso abre a janela abaixo:
Mas qual a melhor maneira de utilizar?
Coloque o BreakPoint no ponto desejado, quando uma das threads chegar no ponto, o Delphi parará tudo, indicando qual a thread corrente:
Pois bem, no decorrer do Debug, pode ser que você vá para uma linha nada haver :) por que por algum motivo mudou-se a thread corrente...
Para voltar à thread em que você estava focado, vá na janela Thread Status, selecione a thread, e no pop-menu selecione a opção "Make Current"...
Por fim, você retorna à thread em que você estava focado.
Para facilitar um pouco mais, você pode nomear a sua thread para efeitos de debug: http://eugostododelphi.blogspot.com/2010/02/nomeacao-de-thread.html
Se você quiser mais alguma idéia sobre o assunto, leia também: http://edn.embarcadero.com/article/41175
Flagras de Atendimento da Semana #567
-
A edição semana dos Flagras de Atendimento!
------------------------------
Flagras de Atendimento da Semana #567 é um post do blog Vida de Suporte.