CORRECÇÃO: Uma fuga de memória ocorre no VisualBasic.VsaEngine quando criar várias assemblagens

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

Nesta página

Sintomas

Quando utilizar Visual Studio para aplicações (VSA) na sua solução personalizada e compilar novas assemblagens que utilizarem uma instância de VisualBasic.VsaEngine, verá um aumento na memória para o conjunto de trabalho do processo sempre que é efectuada uma nova assemblagem. A memória não pode ser reclamada pelo anfitrião. Por conseguinte, a memória é "transmitida" por espaço de processo que efectua a compilação.

O problema não ocorre quando utiliza o motor Microsoft JScript VSA.

Causa

O problema é causado por uma combinação dos três problemas mais pequenos. Estes problemas estão relacionados com a capacidade do motor Microsoft Visual Basic VSA para compilar as assemblagens que estão dentro de processo anfitrião. Os seguintes problemas foram identificados como causas para a fuga:
  • Um COM Callable Wrapper (CCW) que é utilizado durante o processo de compilação entre o Microsoft .NET Framework e o compilador de Visual Basic nativo podem ser retidas na memória. Isto ocorre mesmo que o objeto será liberado correctamente. Este problema não é específico para VSA. Este problema pode ser evitado se utilizar a correcção destina-se e Fechar for chamado no motor antes do motor é libertado.
  • Quando são efectuados símbolos para a assemblagem, o ficheiro de base de dados do programa (PDB) poderá consumir memória que não é recuperada imediatamente pelo recolector de lixo. Se não necessitar de símbolos para o código compilado, pode evitar o problema. Definir GenerateDebugInfo como false antes do método de compilação é chamado.
  • O processo de compilação interna pode não conseguir libertar determinadas comuns alças de runtime de idioma durante o processamento do código Visual Basic. O número de identificadores são transmitido depende o código compilado. Este problema foi resolvido pela correcção.

Resolução

Informações sobre Service Packs

Para resolver este problema, obtenha o service pack mais recente do Microsoft Visual Studio. NET. Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
837234Lista de erros corrigidos no Visual Studio .NET 2002 1

Informações sobre a correcção

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 na ferramenta Data e hora no painel de controlo.
   Date         Time   Version         Size       File name
   -----------------------------------------------------------------------
   15-Feb-2003  00:25  5.50.4134.600   6,428,040  Vs70_qfem_q814483_en.exe

Ponto Da Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a". Este problema foi corrigido pela primeira vez no Visual Studio .NET 2002 1.

Propriedades

Artigo: 814483 - Última revisão: 7 de abril de 2006 - Revisão: 4.1
A informação contida neste artigo aplica-se a:
  • Microsoft Visual Studio .NET 2002 Professional Edition
  • Microsoft Visual Studio for Applications SDK 1.0
Palavras-chave: 
kbmt kbqfe kbhotfixserver kbvs2002sp1fix kbvs2002sp1sweep kbbug KB814483 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: 814483

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