Compartilhar via


Depuração de aplicativos multithread

Um thread é uma sequência de instruções para o qual o sistema operacional aloca tempo do processador.Cada processo em execução no sistema operacional consiste em pelo menos um thread.Processos que têm mais de um thread são chamados de multithreaded.

Computadores com vários processadores, processadores multi-core ou processos hyperthreading podem executar vários threads ao mesmo tempo.Processamento paralelo de vários threads pode melhorar muito odesempenhodo programa, mas ele também pode fazer depuração mais difícil porque ele apresenta a necessidade de manter o controle de vários segmentos.

Além disso, multithreading apresenta alguns novos tipos de possíveis bugs.Geralmente, por exemplo, dois ou mais threads precisam acessar o mesmo recurso, mas apenas um thread com segurança podem acessar o recurso de cada vez.Alguma formulário de exclusão mútua é necessário certificar-se de que apenas um thread estiver acessando o recurso de cada vez.Se exclusão mútua for executada incorretamente, ele pode criar um deadlock condição em que nenhum thread pode executar.Os deadlocks podem ser um problema é um pouco difícil para depurar.

Visual Studio 2012Fornece um melhor segmentosjanela, a nova janelade Threads de GPU, a nova janela Inspeção paralela e outros aprimoramentos nainterface do usuáriopara facilitar o multithread depuração . A melhor maneira de aprender sobre os novos recursos de interface de threading é seguindo a instruções passo a passo. Consulte Passo a passo: Depuração de um aplicativo multithread e Passo a passo: Depuração de um aplicativo de AMP C++.

Visual Studio também fornece poderosos breakpoints and tracepoints, o que pode ser muito útil quando você depurar aplicativos multithread.Você pode usar filtros de ponto de interrupção para colocar os pontos de interrupção em segmentos individuais.Consulte Como: especificar um filtro de ponto de interrupção.

Depurar um aplicativo multi-threaded que tem umainterface de usuáriopode ser especialmente difícil. Nesse maiúsculas e minúsculas, você poderá considerar executando o aplicativo em um segundo computador e usar adepuração remoto. Para obter mais informações, consulte: Configuração de depuração remota.

Nesta seção

Seções relacionadas

Consulte também

Outros recursos

Trabalhar com segmentos e processos

Configuração de depuração remota