CORRECÇÃO: Mensagem de erro quando uma aplicação de Visual C++ 2005 tenta abrir um ficheiro no modo de depuração no Visual Studio 2005 Service Pack 1: "demasiados muitos abrir ficheiros"

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: 934586
Sintomas
Considere o seguinte cenário:
  • Criar uma aplicação de C++ no Microsoft Visual Studio 2005 Service Pack 1 (SP1).
  • A aplicação utiliza a biblioteca de tempo de execução C para abrir um ficheiro.
  • Compilar a aplicação e, em seguida, execute a aplicação no modo de depuração.
  • A aplicação abre vários ficheiros com êxito.
  • A aplicação abre outro ficheiro sem êxito mais de 512 vezes.
Neste cenário, a aplicação poderá não conseguir abrir mais ficheiros, mesmo se os caminhos forem válidos. Quando este problema ocorre, recebe a seguinte mensagem de erro:
Existem demasiados ficheiros abertos
Resolução

Informações sobre a correcção

Uma correcção suportada está agora disponível da Microsoft. Contudo, destina-se a corrigir o problema descrito neste artigo. Aplique-a apenas em sistemas que tenham este problema específico. Esta correcção poderá 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 2005 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 de 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 normais do suporte serão aplicados a problemas adicionais e questões de suporte que não se enquadrem na atualização específica em questão.

Pré-requisitos

Tem de ter o Visual Studio 2005 Service Pack 1 (SP1) 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 do 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 indicadas 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 de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
8.0.50727.832.PolicyNão aplicável81012-ABR de 200710: 19Não aplicável
Amd64_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.832_x ww_9d977ba4.manifestNão aplicável1,87112-ABR de 200722: 33Não aplicável
Amd64_microsoft.vc80.debugcrt_1fc8b3b9a1e18e3b_8.0.50727.832_x ww_8715c243.manifestNão aplicável1,87912-ABR de 200722: 33Não aplicável
Crtassem.hNão aplicável64612-ABR de 200710: 19Não aplicável
Crtdefs.hNão aplicável93,73512-ABR de 200710: 19Não aplicável
Fp10.objNão aplicável6,08112-ABR de 200719: 09Não aplicável
Ia64_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.832_x ww_9ae87c64.manifestNão aplicável1,87012-ABR de 200723: 23Não aplicável
Ia64_microsoft.vc80.debugcrt_1fc8b3b9a1e18e3b_8.0.50727.832_x ww_8466c303.manifestNão aplicável1,87812-ABR de 200723: 23Não aplicável
Libcmt.libNão aplicável7,728,83812-ABR de 200719: 09Não aplicável
Libcmtd.libNão aplicável9,771,95412-ABR de 200719: 09Não aplicável
Libcpmt.libNão aplicável4,987,96212-ABR de 200719: 09Não aplicável
Libcpmtd.libNão aplicável6,690,77812-ABR de 200719: 09Não aplicável
Microsoft_vc80_crt_x86.msmNão aplicável634,36813-Abr de 200702: 57Não aplicável
Microsoft_vc80_crt_x86_ia64.msmNão aplicável2,476,03213-Abr de 200702: 57Não aplicável
Microsoft_vc80_crt_x86_x64.msmNão aplicável1,799,68013-Abr de 200702: 57Não aplicável
Microsoft_vc80_debugcrt_x86.msmNão aplicável2,181,12013-Abr de 200702: 57Não aplicável
Microsoft_vc80_debugcrt_x86_ia64.msmNão aplicável3,983,87213-Abr de 200702: 58Não aplicável
Microsoft_vc80_debugcrt_x86_x64.msmNão aplicável2,287,10413-Abr de 200702: 58Não aplicável
Msvcm80.dll8.0.50727.832479,23212-ABR de 200710: 19x 86
Msvcm80d.dll8.0.50727.8321,015,80812-ABR de 200710: 19x 86
Msvcmrt.libNão aplicável944,17412-ABR de 200719: 09Não aplicável
Msvcmrtd.libNão aplicável983,99212-ABR de 200719: 09Não aplicável
Msvcp80.dll8.0.50727.832548,86412-ABR de 200710: 19x 86
Msvcp80d.dll8.0.50727.8321,036,28812-ABR de 200710: 19x 86
Msvcprt.libNão aplicável1,482,90212-ABR de 200719: 09Não aplicável
Msvcprtd.libNão aplicável1,632,60812-ABR de 200719: 09Não aplicável
Msvcr80.dll8.0.50727.832626,68812-ABR de 200710: 19x 86
Msvcr80d.dll8.0.50727.8321,175,55212-ABR de 200710: 19x 86
Msvcrt.libNão aplicável961,72612-ABR de 200719: 09Não aplicável
Msvcrtd.libNão aplicável992,63012-ABR de 200719: 09Não aplicável
Msvcurt.libNão aplicável5,958,33012-ABR de 200719: 09Não aplicável
Msvcurtd.libNão aplicável6,632,28012-ABR de 200719: 09Não aplicável
Policy_8_0_microsoft_vc80_crt_x86.msmNão aplicável84,99213-Abr de 200702: 57Não aplicável
Policy_8_0_microsoft_vc80_crt_x86_ia64.msmNão aplicável85,50413-Abr de 200702: 57Não aplicável
Policy_8_0_microsoft_vc80_crt_x86_x64.msmNão aplicável86,01613-Abr de 200702: 57Não aplicável
Policy_8_0_microsoft_vc80_debugcrt_x86.msmNão aplicável86,01613-Abr de 200702: 57Não aplicável
Policy_8_0_microsoft_vc80_debugcrt_x86_ia64.msmNão aplicável86,01613-Abr de 200702: 58Não aplicável
Policy_8_0_microsoft_vc80_debugcrt_x86_x64.msmNão aplicável86,01613-Abr de 200702: 58Não aplicável
Stream.cNão aplicável4,07612-ABR de 200719: 09Não aplicável
Vcredist_ia64.exe2.0.50727.8326,615,89612-ABR de 200723: 34x 86
Vcredist_x64.exe2.0.50727.8323,183,44812-ABR de 200722: 43x 86
Vcredist_x86.exe2.0.50727.8322,701,14413-Abr de 200704: 34x 86
X86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.832_x ww_6b8d95c4.manifestNão aplicável1,86913-Abr de 200702: 51Não aplicável
X86_microsoft.vc80.debugcrt_1fc8b3b9a1e18e3b_8.0.50727.832_x ww_550bdc63.manifestNão aplicável1,87713-Abr de 200702: 51Não aplicável
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

Passos para reproduzir o problema

Para reproduzir o problema, siga estes passos:
  1. Colar o seguinte exemplo de código uma aplicação de consola do Microsoft Visual C++ 2005.
    #include <stdio.h>#include <stdlib.h>int main(int argc, char*argv[]){    int i;    struct FILE* f;    for (i=0; i<513; ++i)        if (i<17)            f=fopen(argv[0], "r");        else            f=fopen("This file does not exist", "r");    printf("Error number is: %u", errno);    return 0;}
  2. Compilar a aplicação e, em seguida, execute a aplicação no modo de depuração. Repare que é devolvido o número de erro 24. Erro número 24 apresenta um "demasiados muitos abrir ficheiros" mensagem de erro.

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 934586 - Última Revisão: 05/18/2007 22:20:57 - Revisão: 1.0

Microsoft Visual Studio 2005 Professional, Microsoft Visual Studio 2005 Standard Edition, Microsoft Visual Studio 2005 Express Edition, Microsoft Visual Studio 2005 Team Edition for Database Professionals, Microsoft Visual Studio 2005 Team Edition for Software Architects, Microsoft Visual Studio 2005 Team Edition for Software Developers, Microsoft Visual Studio 2005 Team Edition for Software Testers

  • kbmt kbfix kbbug kbhotfixserver kbqfe kbpubtypekc KB934586 KbMtpt
Comentários