CORREÇÃO: Comportamento inesperado ao executar um aplicativo do Visual Studio 2008 Service Pack 1 gerado que chama a função setjmp ou a função de longjmp em um arquivo de origem

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

Neste artigo

Sintomas

Considere o seguinte cenário:
  • Ativar o (opção de otimização global/Og), permitindo que uma das seguintes opções:
    • / O1 
    • / O2 
    • /OX 
  • Criar um arquivo de origem do Microsoft Visual C++ usando o Microsoft Visual Studio 2008 Service Pack 1 (SP1).
  • As chamadas de arquivo de origem asetjmpfunção, olongjmpfunção, ou ambas as funções.

Nesse cenário, o compilador pode usar o mesmo deslocamento de pilha para armazenar variáveis locais diferentes. Portanto, um comportamento inesperado pode ocorrer quando você executa o aplicativo gerado.

Causa

Esse problema ocorre porque o otimizador não leva em conta o setjmpfunção ou olongjmpfunção. Isso faz com que o otimizador de calcular incorretamente o tempo de vida das variáveis locais. Quando uma variável é alterada, a outra variável pode ser alterado inesperadamente.

Resolução

Informações sobre o hotfix

Com suporte está disponível um hotfix da Microsoft. No entanto, esse hotfix destina-se a corrigir o problema descrito neste artigo. Aplica este hotfix somente aos sistemas que apresentarem o problema descrito neste artigo. 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 dos números de telefone de suporte e atendimento ao cliente da Microsoft ou para criar uma solicitação de serviço, visite o seguinte site da Microsoft:
http://support.microsoft.com/contactus/?ws=support
Observação Em alguns casos, as taxas cobradas para chamadas de suporte podem ser canceladas se um profissional de suporte da Microsoft determinar que uma atualização específica resolverá o problema. Os custos de suporte normais serão aplicados a questões de suporte adicionais e problemas que não se qualificam à atualização específica em questão.

Para baixar esse hotfix na Galeria de código do MSDN (Microsoft Developer Network), visite o seguinte site da Microsoft:
http://Code.msdn.microsoft.com/KB2498381

Observação O MSDN Code Gallery exibe os idiomas para os quais o hotfix está disponível. Se você não vir seu idioma listado, é porque a página de recursos da Galeria de código não está disponível para esse idioma.

Ou, você pode baixar esse hotfix do seguinte site da Microsoft Connect:
https://Connect.microsoft.com/VisualStudio/downloads/DownloadDetails.aspx?DownloadID = 34826

Pré-requisitos

Para aplicar esse hotfix, você deve ter o Microsoft Visual Studio 2008 Service Pack 1 instalado.

Informações sobre a reinicialização

Não é necessário reiniciar o computador após instalar esse hotfix, se você parar todas as instâncias do Visual Studio.

Informações de substituição do hotfix

Esse hotfix não substitui um hotfix lançado anteriormente.

Informações de arquivo

A versão global deste hotfix instala arquivos que possuem os atributos listados nas tabelas a seguir. As datas e horas destes arquivos estão listadas no tempo Universal Coordenado (UTC). As datas e horários desses arquivos no computador local são exibidos em sua hora local junto com a diferença de horário de verão (DST) atual. Além disso, as datas e horas podem ser alterados quando você realizar algumas operações nos arquivos.
Recolher esta tabelaExpandir esta tabela
Nome do arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
C2.dll15.0.30729.61472,283,84025-Fev-201101: 25.x86
C2.dll15.0.30729.61472,362,68825-Fev-201101: 25.x86
C2.dll15.0.30729.61472,493,24825-Fev-201101: 25.x86
C2.dll15.0.30729.61473,018,04825-Fev-201101: 25.x64
C2.dll15.0.30729.61477,263,04025-Fev-201101: 25.IA-64
Link. exe9.0.30729.61471,055,56025-Fev-201101: 25.x64
Link. exe9.0.30729.61472,135,36825-Fev-201101: 25.IA-64
Link. exe9.0.30729.6147800,58425-Fev-201101: 25.x86



Como Contornar

Para contornar esse problema, inicialize as variáveis locais no início da função para que o compilador pode estar atento ao tempo de vida as variáveis.

Situação

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

Mais Informações

Para obter mais informações sobre a terminologia de atualização de software, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
824684 Descrição da terminologia padrão usada para descrever as atualizações de software da Microsoft

Propriedades

ID do artigo: 2498381 - Última revisão: quinta-feira, 21 de abril de 2011 - Revisão: 3.0
Palavras-chave: 
kbqfe kbhotfixserver kbfix kbexpertiseinter kbsurveynew kbbug kbmt KB2498381 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: 2498381

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