CORRECÇÃO: Exibida uma mensagem de erro "Falha de página inválida no módulo Msvcrt.dll" após a instalação das bibliotecas das tempo de execução do Visual C++ 6.0

Traduções deste artigo Traduções deste artigo
ID do artigo: 190536 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Sintomas

Depois de instalar as bibliotecas C Runtime (Msvcrt.dll) do Visual C++ 6.0 no seu computador, os aplicativos que anteriormente executava corretamente falha e um erro de aplicativo similar à seguinte aparece:
<Nome do aplicativo > causou uma falha de página inválida no módulo Msvcrt.dll em XXXX:XXXXXXXX.

Causa

Uma causa possível deste erro é que o aplicativo foi gravado após o bloco de memória que pertence a um determinado objeto. O Gerenciador de heapmemory bloco pequeno que é fornecido com as bibliotecas do Visual C++ 6.0 tempo de execução incorpora heap estruturas de controle dentro da heap pequeno bloco. Substituir o bloco de memória altera pequeno bloco heap ponteiro endereços, effecting um ponteiro inválido e, possivelmente, uma falha em Msvcrt.dll quando o ponteiro é referenciado.

Resolução

Fornecedores de aplicativos precisam garantir que seus aplicativos estão usando a pilha de pequeno bloco de tempo de execução C corretamente.

Para ajudar os clientes que estão enfrentando esse problema em seus aplicativos de terceiros, a Microsoft lançou uma nova C Runtime biblioteca de vínculo dinâmico (DLL), Msvcrt.dll, que implementa dois gerenciadores de heap: o Gerenciador de heap compatível com o 5.0 de versão do Visual C++ e o Gerenciador de heap compatível com o 6.0 do Visual C++ versão. Msvcrt.dll detecta qual versão do Visual C++ seu aplicativo é criado com e usa o Gerenciador de heap apropriado para o aplicativo. Se a versão for Visual C++ 6.0 ou posterior, o Gerenciador de heap compatível com o 6.0 do Visual C++ é usado; se a versão for anterior à versão 6.0, a pilha de 5.0 compatível do Visual C++ é usada.

Os usuários Studio 6.0 Visual podem obter o novo arquivo Msvcrt.dll instalando o Microsoft Visual Studio Service Pack mais recente. Se você não estiver usando o Visual Studio, instalar o Microsoft Libraries Update; para obter informações adicionais, consulte o seguinte artigo na Base de dados de Conhecimento da Microsoft:
197298Bibliotecas Microsoft atualizar: o que, em que, por que

Situação

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

Esse bug foi corrigido no Visual Studio 6.0 Service Pack 3. Para obter mais informações sobre service packs do Visual Studio, clique nos números abaixo para ler os artigos na Base de dados de Conhecimento da Microsoft:
194022O Visual Studio 6.0 service packs, o que, em que, por que
194295Como saber se um service pack do Visual Studio está instalado

Mais Informações

A pilha pequeno bloco compreende alocações que são menos de 1 K de tamanho. Bugs dessa natureza podem se comportar diferentemente em versões anteriores da biblioteca de tempo de execução C porque as estruturas de controle sejam encontram em um local diferente e separado na memória. Geralmente, esses tipos de erros de código resultam na corrupção de outro bloco de memória e possivelmente uma falha. A seqüência de eventos que levam a uma violação de acesso são diferentes quando você usa as bibliotecas Visual C++ 6.0 C Runtime.

Você pode controlar esses tipos de problemas usando a pilha de depuração. Consulte a documentação on-line intitulada, "Usar a pilha de depuração". Você precisará habilitar a pilha de depuração por chamada _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF |_CRTDBG_CHECK-_ALWAYS_DF) na inicialização de processo em uma compilação de depuração do seu aplicativo.

Propriedades

ID do artigo: 190536 - Última revisão: segunda-feira, 3 de outubro de 2005 - Revisão: 3.3
A informação contida neste artigo aplica-se a:
  • Microsoft Visual C++ 6.0 Enterprise Edition
  • Microsoft Visual C++ 6.0 Professional Edition
  • Microsoft Visual C++, 32-bit Learning Edition 6.0
Palavras-chave: 
kbmt kbhotfixserver kbqfe kberrmsg kbqfe kbbug kbcrt kbfix kbvs600sp2fix kbvs600sp3fix KB190536 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: 190536

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