CORRECÇÃO: Mensagem de erro quando executa uma aplicação que está configurada para ser criado para o x64 plataforma utilizando o ficheiro de MSVCR90.dll que invoca a função strncpy: "Ocorreu uma excepçã...

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: 956420
Sintomas
Tem uma aplicação que está configurada para ser criado para um x64 plataforma utilizando o ficheiro Msvcr90.dll. A aplicação chamar a função strncpy . Quando executa a aplicação, poderá receber a seguinte mensagem de erro na janela do Visual Studio JIT Debugger:
Ocorreu uma excepção não processada do win32 no 'Nome_aplicação'
Quando verificar a pilha de chamadas, pode encontrar uma violação de acesso foi accionada no ficheiro Msvcr90.dll e que a aplicação deixou de responder na função strncpy . Este problema ocorre quando se verificam as seguintes condições:
  • Expande a memória intermédia de origem para o fim de um allocatedpage.
  • A página seguinte de afterthis bytes não pertence ao processo em execução.
  • O comprimento a ser copiado é um of8 mesmo a vários.
  • O comprimento para serem copiados inclui o byte final de thesourcebuffer.
Causa
Este problema ocorre porque a função de strncpy tenta acessar o byte seguinte depois da memória intermédia de origem. Este problema é introduzido por novas optimizações para algumas funções da biblioteca de CRT.
Resolução

Informações sobre correçã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 pelo próximo service pack do Visual Studio 2008 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: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 adicionais e problemas que não se enquadrem na atualização específica em questão.

Pré-requisitos

Tem de ter o Visual Studio 2008 Service Pack 1 instalado para aplicar esta correcção.

Requisito de reinício

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

Informações sobre substituição da correção

Esta correcção não substitui quaisquer outras correcções.

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.
Nome do ficheiroVersão do ficheiroTamanho do ficheiroDataHoraPlataforma
Atl90.dll9.0.30729.162159,55214-Oct-200802:32x86
Mfc90.dll9.0.30729.1625,084,48014-Oct-200801:12x64
Mfc90.dll9.0.30729.1623,766,08014-Oct-200802:32x86
Mfc90chs.dll9.0.30729.16236,68014-Oct-200801:12x64
Mfc90chs.dll9.0.30729.16236,68014-Oct-200802:32x86
Mfc90cht.dll9.0.30729.16237,70414-Oct-200801:12x64
Mfc90cht.dll9.0.30729.16237,70414-Oct-200802:32x86
Mfc90d.dll9.0.30729.1627,419,20014-Oct-200801:12x64
Mfc90d.dll9.0.30729.1625,934,91214-Oct-200802:32x86
Mfc90deu.dll9.0.30729.16264,32814-Oct-200801:12x64
Mfc90deu.dll9.0.30729.16264,32814-Oct-200802:32x86
Mfc90enu.dll9.0.30729.16254,60014-Oct-200801:12x64
Mfc90enu.dll9.0.30729.16254,60014-Oct-200802:32x86
Mfc90esn.dll9.0.30729.16262,79214-Oct-200801:12x64
Mfc90esn.dll9.0.30729.16262,79214-Oct-200802:32x86
Mfc90esp.dll9.0.30729.16262,79214-Oct-200801:12x64
Mfc90esp.dll9.0.30729.16262,79214-Oct-200802:32x86
Mfc90fra.dll9.0.30729.16263,81614-Oct-200801:12x64
Mfc90fra.dll9.0.30729.16263,81614-Oct-200802:32x86
Mfc90ita.dll9.0.30729.16262,28014-Oct-200801:12x64
Mfc90ita.dll9.0.30729.16262,28014-Oct-200802:32x86
Mfc90jpn.dll9.0.30729.16244,36014-Oct-200801:12x64
Mfc90jpn.dll9.0.30729.16244,36014-Oct-200802:32x86
Mfc90kor.dll9.0.30729.16243,84814-Oct-200801:12x64
Mfc90kor.dll9.0.30729.16243,84814-Oct-200802:32x86
Mfc90u.dll9.0.30729.1625,103,42414-Oct-200801:12x64
Mfc90u.dll9.0.30729.1623,781,44014-Oct-200802:32x86
Mfc90ud.dll9.0.30729.1627,464,26414-Oct-200801:12x64
Mfc90ud.dll9.0.30729.1625,980,48814-Oct-200802:32x86
Mfcm90.dll9.0.30729.16267,07214-Oct-200800:50x64
Mfcm90.dll9.0.30729.16259,90414-Oct-200800:20x86
Mfcm90d.dll9.0.30729.16293,18414-Oct-200800:50x64
Mfcm90d.dll9.0.30729.16280,89614-Oct-200800:20x86
Mfcm90u.dll9.0.30729.16267,07214-Oct-200800:50x64
Mfcm90u.dll9.0.30729.16259,90414-Oct-200800:20x86
Mfcm90ud.dll9.0.30729.16293,69614-Oct-200800:50x64
Mfcm90ud.dll9.0.30729.16280,89614-Oct-200800:20x86
Mfcmifc80u.dll9.0.30729.16214,15220-Out-200817:19x86
Microsoft.visualc.stlclr.dll9.0.30729.16249,00020-Out-200817:19x86
Msvcm90.dll9.0.30729.162225,28013-Oct-200821:59x86
Msvcm90.dll9.0.30729.162324,09613-Oct-200822:36IA-64
Msvcm90.dll9.0.30729.162245,76013-Oct-200823:40x64
Msvcm90d.dll9.0.30729.162312,83213-Oct-200821:59x86
Msvcm90d.dll9.0.30729.162429,56813-Oct-200822:37IA-64
Msvcm90d.dll9.0.30729.162333,312.13-Oct-200823:40x64
Msvcp90.dll9.0.30729.1621,467,20814-Oct-200800:56IA-64
Msvcp90.dll9.0.30729.162854,34414-Oct-200801:12x64
Msvcp90.dll9.0.30729.162570,69614-Oct-200802:32x86
Msvcp90d.dll9.0.30729.1622,514,76014-Oct-200800:56IA-64
Msvcp90d.dll9.0.30729.1621,121,60814-Oct-200801:12x64
Msvcp90d.dll9.0.30729.162873,28814-Oct-200802:32x86
Msvcr90.dll9.0.30729.1621,504,58414-Oct-200800:56IA-64
Msvcr90.dll9.0.30729.162624,45614-Oct-200801:12x64
Msvcr90.dll9.0.30729.162653,64014-Oct-200802:32x86
Msvcr90d.dll9.0.30729.1623,599,68814-Oct-200800:56IA-64
Msvcr90d.dll9.0.30729.1621,349,96014-Oct-200801:12x64
Msvcr90d.dll9.0.30729.1621,178,44014-Oct-200802:32x86
Vcomp90.dll9.0.30729.162142,66414-Oct-200800:56IA-64
Vcomp90.dll9.0.30729.16257,67214-Oct-200801:12x64
Vcomp90.dll9.0.30729.16252,04014-Oct-200802:32x86
Vcomp90d.dll9.0.30729.162317,25614-Oct-200800:56IA-64
Vcomp90d.dll9.0.30729.162105,80014-Oct-200801:12x64
Vcomp90d.dll9.0.30729.16289,41614-Oct-200802:32x86
Vcomp90ui.dll9.0.30729.16211,59220-Out-200817:19x86
Vcredist_ia64.exe9.0.30729.1624,712,27214-Oct-200819:32x86
Vcredist_x64.exe9.0.30729.1625,236,56014-Oct-200819:36x86
Vcredist_x86.exe9.0.30729.1624,496,20814-Oct-200819:28x86
Como contornar
Para contornar este problema, utilize um dos seguintes métodos:
  • Altere qualquer uma das quatro condições que são descritas na secção "Sintomas".
  • Substituir o strncpy função funções de withother que têm uma funcionalidade semelhante, tal como o memcpyfunção ou o lstrcpyn função.

    Nota Estas funções de cópia são ligeiramente diferentes. Por exemplo, o memcpy função não termina a cópia de cadeia quando é encontrado um byte nulo antes ao comprimento indicado.
Ponto Da Situação
A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a".
Mais Informação
Para mais informações sobre a terminologia de atualização de software, clique no seguinte número de artigo para visualizar o artigo na Base de Dados de Conhecimento Microsoft:
824684 Descrição da terminologia padrão utilizada para descrever atualizações de software da Microsoft

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 956420 - Última Revisão: 04/08/2016 10:10:00 - Revisão: 14.0

Microsoft Visual Studio 2008 Professional Edition, Microsoft Visual Studio 2008 Standard Edition, Microsoft Visual Studio 2008 Team Suite

  • kbfix kbexpertiseadvanced kbqfe kbmt KB956420 KbMtpt
Comentários