Partilhar via


Evitar áreas com problemas com programas Multithread

Há vários problemas que podem ocorrer na criação, vinculação ou executar um programa c multithread.Alguns dos problemas mais comuns são descritos na tabela a seguir.(Para uma discussão semelhante do ponto de vista do MFC, consulte Multithreading: dicas de programação.)

Problema

Causa provável

Obtenha uma caixa de mensagem mostrando que o programa causou uma violação de proteção.

Muitos erros de programação Win32 causam violações de proteção.Uma causa comum de violações de proteção é a atribuição indireta de dados para ponteiros nulos.Porque isso resulta em seu programa tentar acessar a memória que não pertence a ele, uma violação de proteção é emitida.

Uma maneira fácil de detectar a causa uma violação de proteção é compilar seu programa com informações de depuração e executá-lo por meio do depurador no ambiente do Visual C++.Quando ocorre falha de proteção, o Windows transfere o controle para o depurador e o cursor está posicionado na linha que causou o problema.

O programa gera diversos erros de compilação e vínculo.

Você pode eliminar muitos problemas potenciais, definindo o nível de aviso do compilador para um de seus valores mais altos e prestando atenção em mensagens de aviso.Usando as opções de nível de aviso de nível 4 ou nível 3, você pode detectar conversões de dados não intencionais, faltando protótipos de função e uso de recursos não-ANSI.

Consulte também

Conceitos

Multithreading com c e Win32