Um erro de violação de acesso ocorre ao executar um aplicativo do Visual C++ 2010 que é construído para uma plataforma x64 se uma opção de compilador de otimização é ativada

Traduções deste artigo Traduções deste artigo
ID do artigo: 2485545
Expandir tudo | Recolher tudo

Neste artigo

Sintomas

Considere o seguinte cenário:
  • Você cria um projeto do Microsoft Visual C++ 2010.
  • Você usar uma função que retorna uma variável local que é maior que 64 bytes.
  • Você ativar uma opção de compilador de otimização para o projeto. Por exemplo, você ativar oMaximizar velocidade (/ O2)opção de compilador de otimização.
  • Você construir o projeto para a plataforma x64 usando o Microsoft Visual Studio 2010 e, em seguida, tentar executar o aplicativo compilado.
Nesse cenário, ocorrerá um erro de violação de acesso e o aplicativo falha.

Causa

Esse problema ocorre porque o código gerado pelo compilador chama uma instrução que requer um buffer de dados alinhado em blocos de 16 bytes. Por exemplo, o código chama umMOVAPDouMOVDQAinstrução. No entanto, o buffer de dados talvez não alinhado. Portanto, uma violação de acesso ocorre quando o aplicativo usa essa instrução para tentar escrever uma variável local otimizada para um buffer de dados não alinhadas.

Resolução

Informações sobre o hotfix

Um hotfix compatível foi disponibilizado pela Microsoft. No entanto, ele se destina apenas a corrigir o problema descrito neste artigo. Aplique-o somente aos sistemas que apresentarem esse problema específico. Este hotfix pode receber testes adicionais. Portanto, se esse problema não o prejudicar, recomendamos que você aguarde a próxima atualização de software que contém esse hotfix.

Para resolver esse problema imediatamente, contate o Atendimento Microsoft para obter o hotfix. Para obter uma lista completa de números de telefone do Atendimento Microsoft e informações sobre os custos de suporte, visite o seguinte site da Microsoft:
http://support.microsoft.com/contactus/?ws=support
ObservaçãoEm alguns casos, taxas cobradas para chamadas de suporte podem ser canceladas se um profissional de suporte da Microsoft determina que uma atualização específica resolverá o problema. Os custos normais de suporte serão aplicados a questões de suporte adicionais e problemas que não se qualificam à atualização específica em questão.

Pré-requisitos

Para aplicar esse hotfix, você deve ter o Microsoft Visual Studio 2010 instalado.

Requisito de reinicialização

Não é necessário reiniciar o computador após instalar esse hotfix.

Informações de substituição do hotfix

Esse hotfix não substitui nenhum outro hotfix.

Informações sobre o arquivo

A versão em inglês deste hotfix apresenta os atributos de arquivo (ou atributos de arquivo posteriores) listados na tabela a seguir. As datas e horários destes arquivos estão listados no tempo Universal Coordenado (UTC). Quando você exibir as informações do arquivo, ele será convertido para a hora local. Para localizar a diferença entre o UTC e a hora local, use oFuso horárioGuia deData e horaitem no painel de controle.
Para todas as versões com suporte do Team Foundation Server 2008
Recolher esta tabelaExpandir esta tabela
Nome do arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
C2.dll16.0.30319.4132,508,09601-Jan-201102: 33x86
C2.dll16.0.30319.4132,627,39201-Jan-201102: 33x86
C2.dll16.0.30319.4132,975,55201-Jan-201102: 33x64

Situação

Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".

Propriedades

ID do artigo: 2485545 - Última revisão: segunda-feira, 31 de janeiro de 2011 - Revisão: 1.0
Palavras-chave: 
kbfix kbqfe kbhotfixserver kbexpertiseadvanced kbsurveynew kbmt KB2485545 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 2485545

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com