External exception C0000006

Ler também esta orientação no site da embarcadero

https://forums.embarcadero.com/thread.jspa?threadID=171717

 

Aplicação Delphi Obtém Exceção Externa C0000006
Descrição do Problema:

Em momentos aleatórios no Windows 7 ou no Windows Server 2008 R2, as aplicações Delphi anormalmente terminam com Exceção Externa C0000006.

Isso acontece quando um compartilhamento é mapeado para uma unidade ou o aplicativo é iniciado por meio de um caminho UNC e é mais provável que ocorra quando o compartilhamento é local em um ambiente hospedado [por exemplo, Serviços de Terminal].

Esse problema foi relatado pela Microsoft várias vezes pelos desenvolvedores e usuários finais da Delphi.

A questão acontece quando:
1. Um aplicativo que usa ADS não é totalmente carregado na memória, e o sistema operacional tenta obter mais do aplicativo na memória para que ele continue em execução.
2. O sistema operacional não carrega a parte solicitada do programa na memória e sofre de uma falha na página.
3. Após a falha da página, o sistema operacional encerra o aplicativo com uma Exceção Externa porque não pode continuar executando o aplicativo.

Nota: Exceção externa C0000006 é um erro de página IO. Neste caso, ocorre quando o Windows tenta carregar parte de um programa na memória.

Solução:
Melhor Solução:
Execute o aplicativo localmente, em vez de ser executado a partir de uma pasta compartilhada no mesmo servidor. Isso evita que o problema ocorra, o que indica que este é um problema no sistema operacional.Ao executar o aplicativo localmente em cada estação de trabalho, isso exigirá um modelo distribuído ou cliente / servidor para atualizações de aplicativos em oposição a um modelo centralizado (que era possível antes com um local de pasta compartilhada / caminho UNC). Existe um exemplo do projeto Delphi Code Central disponível para ajudar a planear as funções básicas de um aplicativo “atualizador”:Application Update Helper

Solução possível:
1. Adicionar diretiva do compilador ao projeto do aplicativo:
{$ SetPEFlags IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP}
Esta diretiva forçará o programa a ser completamente carregado na memória e pode impedir que a exceção externa ocorra aleatoriamente.

A Microsoft publicou um hot-fix (referenciado em http://support.microsoft.com/kb/818528) para abordar uma instância do problema relatado em http://support.microsoft.com/kb/294816.

Nota: Evite conexões locais do servidor. A causa da exceção externa C0000006 pode resultar em corrupção se usar conexões de servidor local para um caminho compartilhado.

 

Ler também esta orientação no site da embarcadero

https://forums.embarcadero.com/thread.jspa?threadID=171717

 

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s