Servidor RDP dando C0000006 para programas de aplicativos

0

Recentemente, nosso servidor RDP está tendo alguns problemas.

Os usuários remotos usarão o Servidor RDP para se conectarem ao Servidor de aplicativos , enquanto os usuários que estiverem em construção se conectarão diretamente ao servidor de aplicativos.

O problema recentemente é que os usuários remotos, usando o Servidor RDP para se conectar ao Application Server , receberão o erro de exceção externa C0000006. Quando o primeiro usuário recebe este erro, o erro vai se espalhar para os usuários lentamente até que todos que usam Program # 1 e Program # 2 recebam o erro C0000006. A reinicialização do servidor RDP corrige o problema na maior parte do tempo.

Eu não tenho certeza de qual seria o problema que estaria causando o erro C0000006 para esses dois programas (eles falam um com o outro), mas geralmente o primeiro precursor dessa invasão de usuários é Program # 1 e Programa # 2 aparecendo em branco no Gerenciador de Tarefas da seguinte forma:

Eu sei que este é um tiro no escuro, mas alguma ideia do que pode estar causando isso? Parece a comunicação entre o Servidor RDP e o Servidor de Aplicações . Gostaríamos de corrigir este problema do nosso lado, mas se for de fato um erro de programação, é a correção de programação do consultor terceirizado e deve ser resolvida por eles.

    
por 16o1denRatio 03.06.2016 / 18:26

1 resposta

1

Os erros

0xC0000006 surgem quando o programa vai para a página com mais dados para o EXE, mas não conseguiu. Geralmente isso é causado por um problema de E / S ao tentar ler os dados.

Assegure-se de que a conectividade entre o servidor de aplicativos e o servidor RDP seja estável e que o armazenamento no servidor de aplicativos esteja respondendo e enviando dados rapidamente. Basicamente, você não deseja descidas inesperadas ou longos atrasos nos dados que entram no servidor RDP.

Outra opção (ou ação adicional), a julgar pelo ícone mostrado na captura de tela, é que, como o aplicativo é escrito em Delphi, ele pode ser recompilado para incluir um cabeçalho que informará ao Windows para carregar todo o programa na memória. de uma só vez, evitando a necessidade de paginar os dados mais tarde, evitando assim o erro ...

{$SetPEFlags IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP or IMAGE_FILE_NET_RUN_FROM_SWAP}

E garanta que o Winapi.Windows esteja incluído na seção Uses .

O primeiro sinalizador diz para carregar inteiramente na memória se o programa está localizado em uma unidade removível (ex .: uma unidade flash) e o segundo diz para fazer isso se o programa estiver localizado em um compartilhamento de rede (como o seu provavelmente é).

Mais informações estão disponíveis no StakcOverflow:

por 03.06.2016 / 18:54