Artigo: 139071 - Última revisão: quarta-feira, 26 de Julho de 2006 - Revisão: 5.4 CORRECÇÃO: BSTR de automatização OLE cache fará com que memória origens fuga no Windows 2000
SumárioEste artigo descreve o seguinte sobre esta versão de correcção:
SintomasAutomatização (anteriormente denominada Automatização OLE e Automatização ActiveX) coloca em cache o espaço alocado para cadeias BSTR. Isto pode causar a IMallocSpy fugas de memória de atributos para o utilizador BSTR errado numa aplicação que utiliza a BSTR cadeias do automatização. A origem correcta a fuga encontrará desactivando cache da automatização definindo a variável de ambiente OANOCACHE = 1 antes de executar a aplicação. Em muitas aplicações baseadas no servidor, a cache BSTR não é necessária. Existe uma correcção disponível para desactivar BSTR cache em computadores com o Windows 2000. Windows XP e Windows Server 2003 não requerem a correcção para desactivar a colocação em cache BSTR. ResoluçãoEstá disponível a partir da Microsoft uma correcção suportada. No entanto, esta correcção destina-se a corrigir o problema descrito neste artigo. Aplique esta correcção apenas em sistemas que tenham este problema específico. Se a correcção está disponível para transferência, existe uma secção "denominada transferência de correcção disponível" na parte superior deste artigo da base de dados de conhecimento. Se esta secção não for apresentada, submeta um pedido para o serviço de cliente do Microsoft e suporte para obter a correcção. Nota Se ocorram problemas adicionais ou se for necessária qualquer resolução de problemas, poderá ter de criar um pedido de assistência separado. Os custos normais do suporte serão aplicados a problemas adicionais e questões de suporte que não se enquadrem esta correcção específica. Para obter uma lista completa dos números de telefone do suporte de cliente do Microsoft ou para criar um pedido serviço separado, visite o seguinte Web site da Microsoft: http://support.microsoft.com/contactus/?ws=support
(http://support.microsoft.com/contactus/?ws=support)
Nota O formulário "Transferência de correcção disponível" apresenta os idiomas para a qual a correcção está disponível. Se não vir o idioma, é porque uma correcção não está disponível para esse idioma.Pré-requisitosTem de ter instalado Windows 2000 Service Pack 4 (SP4) para aplicar esta correcção.Informações sobre reinícioTem de reiniciar o computador depois de aplicar esta correcção.Informações de registoNão é necessário alterar o registo.Informações sobre ficheiros da correcçãoEsta correcção contém apenas os ficheiros necessários para corrigir os problemas referidos neste artigo. Esta correcção não pode conter de todos os ficheiros que necessita para actualizar completamente um produto para a compilação mais recente.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.Reduzir esta tabela
Ponto Da SituaçãoA Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a". Mais InformaçãoAutomatização coloca em cache o espaço alocado para BSTRs. Isto acelera a sequência de SysAllocString/SysFreeString. No entanto, isto pode provocar IMallocSpy para fugas de atributo para o utilizador de memória incorrecto porque não se encontra atento a colocação em cache que efectua a automatização. Por exemplo, se a aplicação atribui um BSTR e liberta-lo, o bloco de memória libertado é colocado na cache do BSTR por automatização. Se a aplicação, em seguida, atribui outro BSTR, poderá receber o bloco livre da cache. Se a atribuição BSTR segunda não é libertada, o IMallocSpy atributo a fuga para a atribuição primeira do BSTR. A origem de fuga correcta (a atribuição de segunda) pode ser determinada desactivando a cache do BSTR que efectua a automatização. Pode fazê-lo pela variável de ambiente definição OANOCACHE = 1 antes de executar a aplicação. No Windows 2000, é necessária a versão de correcção do ficheiro oleaut32.dll referidos neste artigo. Também é importante procurar fugas à hora correcta para impedir a fuga falsos relatórios. Estes fugas podem ocorrer quando a implementação IMallocSpy verifica fugas demasiado cedo. Os utilizadores de memória atribuída pelo IMalloc legitimamente podem conter ao mesmo após OleUninitialize. Por exemplo, a cache de automatização BSTR é eliminada do ficheiro Oleaut32.dll DLL_PROCESS_DETACH momento. Isto significa que verificar fugas imediatamente após OleUninitialize pode provocar falsos relatórios de fugas de memória. Um bom local para procurar fugas de memória consta o processo de destruição de uma instância de uma classe, que implementa a IMallocSpy estático. O processo de destruição desta instância estática é chamado depois de DllMain de cada DLL ligado pela aplicação é chamado com DLL_PROCESS_DETACH. Definir a variável de ambiente OANOCACHE
ReferênciasPara obter mais informações, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base: 824684
(http://support.microsoft.com/kb/824684/
)
Descrição da terminologia padrão utilizada para descrever actualizações de software da Microsoft A informação contida neste artigo aplica-se a:
Tradução automáticaIMPORTANTE: 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: 139071
(http://support.microsoft.com/kb/139071/en-us/
)
| Outros Recursos Outros Sites de Suporte
ComunidadesTraduções de Artigos
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email


Voltar ao topo