Um erro de violação de acesso ocorre quando executa uma aplicação de Visual C++ 2010 concebida para uma plataforma de 64 x se uma opção do compilador de optimização estiver activada

Traduções de Artigos Traduções de Artigos
Artigo: 2485545 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sintomas

Considere o seguinte cenário:
  • Criar um projecto do Microsoft Visual C++ 2010.
  • Utilize uma função que devolve uma variável local que é maior do que 64 bytes.
  • Activar uma opção do compilador de optimização para o projecto. Por exemplo, activar o Maximizar a velocidade (/ O2) a opção do compilador optimização.
  • Criar o projecto para a plataforma de 64 x utilizando o Microsoft Visual Studio 2010 e, em seguida, tentar executar a aplicação incorporada.
Neste cenário, ocorre um erro de violação de acesso e a aplicação falha.

Causa

Este problema ocorre porque o código gerado pelo compilador chama uma instrução que requer uma memória intermédia de dados alinhada em blocos de 16 bytes. Por exemplo, o código chama numa instrução MOVAPD ou MOVDQA . No entanto, a memória intermédia de dados poderá não alinhada. Por conseguinte, ocorre uma violação de acesso quando a aplicação utiliza esta instrução para tentar escrever uma variável local optimizada para uma memória intermédia de dados não alinhadas.

Resolução

Informações sobre a correcção

Agora tem uma correcção suportada disponível na Microsoft. Contudo, destina-se apenas a corrigir o problema descrito neste artigo. Aplique-a apenas em sistemas que tenham este problema específico. Esta correcção poderá ser submetida a testes adicionais. Por conseguinte, se não estiver a ser gravemente afectado por este problema, recomendamos que aguarde pela próxima actualização de software que contenha esta correcção.

Para resolver este problema imediatamente, contacte o suporte técnico da Microsoft para obter a correcção. Para obter uma lista completa dos números de telefone do suporte técnico da Microsoft e informações sobre os custos de suporte, visite o seguinte Web site da Microsoft:
http://support.microsoft.com/contactus/?ws=support
Nota Em casos especiais, os custos normalmente inerentes às chamadas de suporte poderão ser anulados se um técnico de suporte da Microsoft determinar que uma actualização específica resolverá o problema. Os custos de normais do suporte serão aplicados a questões de suporte adicional e problemas que se enquadrem na atualização específica em questão.

Pré-requisitos

Para aplicar esta correcção, tem de ter o Microsoft Visual Studio 2010 instalado.

Requisito de reinício

Não é necessário reiniciar o computador depois de instalar esta correcção.

Informações sobre substituição de correcções

Esta correcção não substitui qualquer outra correcção.

Informações de ficheiro

A versão inglesa desta correcção tem os atributos de ficheiro (ou atributos de ficheiro posteriores) listados na seguinte tabela. As datas e horas destes ficheiros são listadas na hora Universal Coordenada (UTC). Quando visualiza as informações do ficheiro, é convertido para a hora local. Para determinar a diferença entre a UTC e a hora local, utilize o separador Fuso horário no item data e hora no painel de controlo.
Para todas as versões suportadas do Team Foundation Server 2008
Reduzir esta tabelaExpandir esta tabela
Nome do ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
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

Ponto Da Situação

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

Propriedades

Artigo: 2485545 - Última revisão: 22 de junho de 2014 - Revisão: 2.0
A informação contida neste artigo aplica-se a:
  • Microsoft Visual Studio 2010 Professional
  • Microsoft Visual Studio 2010 Ultimate
  • Microsoft Visual Studio 2010 Premium with MSDN
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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes 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