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"

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

Nesta página

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:
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 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.
Reduzir esta tabelaExpandir esta tabela
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.

Propriedades

Artigo: 934586 - Última revisão: 18 de maio de 2007 - Revisão: 1.0
A informação contida neste artigo aplica-se a:
  • 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
Palavras-chave: 
kbmt kbfix kbbug kbhotfixserver kbqfe kbpubtypekc KB934586 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: 934586

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