Os erros $210D e $2501 são decorrentes de conflitos na alocação de recursos de memória pelo Windows. Nas versões XP e Vista o endereçamento padrão para o BDE era bastante e não havia necessidade de realizar maiores ajustes no BDE para utilizar várias instâncias do BDE simultaneamente sem que houvesse conflitos nos recursos alocados.
Baixe o Emet da microsoft;
Para Windows 10 clique aqui;
configuração.
----------------------------------------------------------------------------------------------------------------------------------------
Altere no BDE o parâmetro memsize para 205.
Solução 1: Nas configurações do BDE, acessar o parâmetro SYSTEM > INIT > SHAREDMEMLOCATE e modificá-lo para 5BDE.Salve a alteração e faça o teste de uso de aplicações simultaneamente abertas.
Solução 2: Nas configurações do BDE, acessar o parâmetro SYSTEM > INIT > SHAREDMEMSIZE e modificá-lo 4096. Salve a alteração e faça o teste de uso de aplicações simultaneamente abertas.
Solução 3: Nas configurações do BDE, acessar o parâmetro SYSTEM > INIT > SHAREDMEMLOCATE e modificá-lo para 0×5BDE. Acesse o parâmetro SYSTEM > INIT > SHAREDMEMSIZE e modifique-o 4096. Salve as alterações e faça o teste de uso de aplicações simultaneamente abertas.
Solução 4: Nas configurações do BDE, acessar o parâmetro SYSTEM > INIT > SHAREDMEMLOCATE e modificá-lo para 0×6BDE. Acesse o parâmetro SYSTEM > INIT > SHAREDMEMSIZE e modifique-o 8192. Salve as alterações e faça o teste de uso de aplicações simultaneamente abertas.
Para esta solução também são válidos os seguintes valores de SHAREDMEMLOCATE: 1000, 7000, 7F00, 2000, 3000, 4000, 5000, 6000,0x%BDE
É possível ainda que seja necessário remover ou desabilitar alguns drivers (de som por exemplo) no Windows 7 e 2008 para resolver o problema, mas normalmente somente “realocando” o pool de memória usado pelo BDE através HAREDMEMLOCATION já será suficiente. Reinicie a máquina após as alterações.
Solução 5: Desabilitar o recurso ASLR.
Estudando o assunto e pesquisando na Internet descobrimos que e o que ocasiona os erros de shared memory do BDE, desde o Windows Vista, é o recurso ASLR (Address Space Layout Randomization) http://en.wikipedia.org/wiki/Address_space_layout_randomization). Esse mecanismo tem como objetivo gerar uma aleatoriedade para os endereços de carga de EXEs e DLLs especialmente marcados (com o bit ASLR). Com isso aumenta-se assim a segurança do SO, pois diminui aprobabilidade de um atacante adivinhar onde as áreas importantes de memória estão carregadas. O BDE (lembrando que a versão atual foi liberada lá em 2001) é configurado para alocar uma a área de memória compartilhada no endereço 6BDE (0x6BDE0000, para Windows NT e superiores). Essa área coincide com a região utilizada pelo mecanismo de ASLR (acima de 0x50000000). Por isso os erros de conflito de memória compartilhada. Para solucionar o problema você poderá desabilitar o ASLR da máquina através da criação da chave MoveImages no caminho abaixo no registro:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
"MoveImages"= dword:00000000
Outra alternativa para desabilitar o ASLR no Windows 7 é a utilização do Enhanced Mitigation Experience Toolkit v3.0 da Microsoft. A criação da entrada de registro pode não desabilitar o recurso para este SO em alguns casos.
O software facilitará este procedimento: http://www.microsoft.com/en-us/download/details.aspx?id=41138
A Microsoft não recomenda desabilitar o ASLR por conta do maior risco de contaminação por malwares, realçando que foi esse recurso que possibilitou maior segurança nos Windows a partir do Vista em diante e que o Hyper-V funciona bem com o mesmo.
Nenhum comentário:
Postar um comentário