Página 1 de 1
Erro na execução: "A memória não pôde ser read".
Enviado: 19 Nov 2010 18:42
por Maya Fiuza
Olá Fórum!
De repente, sem motivo aparente, o programa trava e joga na tela uma janela:
The supreme MS-Windows escreveu:"A instrução no 0x1600b176 fez referência à memória no 0x1600b176. A memória não pôde ser read.
Clique em 'OK' para finalizar o programa.
Esgotei meus recursos e minha sexta-feira. Alguém me salva?
Obrigada.
Re: Erro na execução: "A memória não pôde ser read".
Enviado: 19 Nov 2010 18:59
por Maligno
Teorias são muitas. Memória RAM com erro, invasão do espaço de memória de algum processo sem a devida permissão, bug/corrupção no programa (ou compilador/VM), bug/corrupção no Windows, etc. Isso acontece em qualquer máquina?
Re: Erro na execução: "A memória não pôde ser read".
Enviado: 19 Nov 2010 19:10
por Maya Fiuza
Olá! Na minha e em todas do meu cliente. Sendo que o servidor dele parece estar infectado há dias por um tal de W32.RAMNIT. Usei ha principio um pendrive dele e agora na minha maquina acusa também. Poderia haver alguma relação?
Em tempo: não testei ainda em outras maquinas, pretendo, mas não consegui arrancar ainda esta praga do W32.RAMNIT da minha maquina.
Os anti-vírus Avira, AVAST, NOD32 e outros foram usados sem sucesso.
Re: Erro na execução: "A memória não pôde ser read".
Enviado: 19 Nov 2010 21:27
por Maligno
Um vírus até pode ser a causa do problema. Mas o erro ocorre também numa máquina (seguramente) "limpa"? A hipótese de bug em RAM/programa/compilador/SO é pouco provável. Difícil dar um "chute" certeiro numa situação dessas. Normalmente se tenta isolar o problema a um ambiente bem conhecido. E a partir daí, elimina-se fatores. É por erro, tentativa e análise dos resultados.
Re: Erro na execução: "A memória não pôde ser read".
Enviado: 20 Nov 2010 12:09
por alaminojunior
Por acaso o seu executável utiliza alguma DLL ou recurso do sistema operacional ?
Re: Erro na execução: "A memória não pôde ser read".
Enviado: 20 Nov 2010 16:23
por rochinha
Amiguinhos,
Maya
Geralmente o Windows por padrão deixa ativada a autoexecução de drives de cd e pendrives, afim de montar o volume para leitura.
No caso dos drives de cd é possivel em suas propriedades desativar este recurso, mas no caso de pendrives somente via registro.
Por padrão todos pendrives ao serem formatados recebem o arquivo de inicialização AUTORUN.INI o qual muitas vezes, ao ser manipulado por um trojan ou virus, para que seja autoexecutado sem autorização do usuário.
Eu por padrão, deixei desativada a autoexecução de pendrives em minha maquina e costumo apagar este arquivo e criar um diretório com o mesmo nome no pendrive afim de dificultar que trojans em maquinas infectadas tentem escrever algo nos meus pendrives.
Eu geralmente tenho o costume de quando inserir um cd ou pendrive segurar a tecla SHIFH enquanto isto para evitar a autoexecção.
No caso de algo mais drástico como a manipulação do registro vai a dica:
- A o editor do Registro do Windows (Iniciar > Executar > regedit)
- Procurar a chave HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer.
- Clicar duas vezes em "NoDriveTypeAutoRun"
- Modificar o valor padrão de "95 0 0 0" para "91 0 0 0"
- Fechar a janela do registro do Windows e reiniciar.
Para fazer a limpeza destas maquinas sem reinstalar seria necessário usar algumas ferramentas mais drásticas e fortes que somente os antivirus, mas em se tratando de Windows, as sequelas sempre ficam.
Como o Maligno explanou, este tipo de problema realmente pode ocorrer em maquinas consideradas seguras, como a minha, que vem dando este tipo de erro, mas devido a falhas de energia que corromperam o registro.
Re: Erro na execução: "A memória não pôde ser read".
Enviado: 20 Nov 2010 17:44
por Maya Fiuza
Atenciosos colegas, obrigada!
Estou tentando ainda triângular o problema, quase pirei ontem, estava tudo indo bem e do nada. Minha máquina é novinha de estalar com forte configuração... Já revi os .PRGs para descarte, tudo OK. Recompilei alguns exemplos das Minigui e a msg não aparece para estes.
As sugestões foram preciosas, acho que aprendi. Fui desastrada mesmo.
Não uso DLL nem recurso do OS. Se ajudar, a msg só me aparece em alguns módulos do programa.
Maligno, escreveu:"Memória RAM com erro, invasão do espaço de memória de algum processo sem a devida permissão..."
A partir desta passei a especular a ação do W32.RAMNIT. Achar como eliminar esta praga já seria de grande valia também.
Um tchauzinho triste.
PS. motivo de edição posterior: corrigir erros de digitação.
Re: Erro na execução: "A memória não pôde ser read".
Enviado: 20 Nov 2010 17:51
por Maligno
A partir disso passei a especular a ação do vírus.
Por isso que é importante ter certeza de estar usando uma máquina limpa. Vírus não só pode gerar esse erro "
per se", como pode conter
bug que resulta em erros do tipo.
Claro que, quando falo em vírus, me refiro a qualquer tipo de
malware. Programa é programa. Qualquer um pode conter
bugs.
Re: Erro na execução: "A memória não pôde ser read".
Enviado: 20 Nov 2010 17:58
por Maligno
A partir desta passei a especular a ação do W32.RAMNIT. Achar como eleminar esta prega já seria de grande valia também.
Claro que remover esse
malware é importante. Mas apenas a fim de testar a ocorrência do erro em questão, abra o
Task Manager e "mate" qualquer aplicação com nome estranho. Com uma memória mais "limpa", execute seu programa novamente e observe se o erro persiste.
Depois aproveite para checar o registro do Windows, em especial as chaves
RUN em
LocalMachine e
CurrentUser, para ver se o desalmado não está se carregando por aí. Se estiver, apague as chaves dele, reinicie a máquina e verifique o
Task Manager novamente. Se estiver tudo limpo, repita o teste no seu programa.
Adicionado PS:
Mas,... Tem um porém. Se o dito cujo infectou seu EXE é bem provável que tenha infectado (e corrompido) todos os EXEs utilizado por você. Incluindo seu compilador. Se isso ocorreu, vai ter que se livrar de todos eles e reinstalar tudo novamente. E dependendo do grau do dano, talvez até tenha que reformatar a máquina, já que nem sempre é possível recuperar todos os EXEs do SO, aplicativos, etc.
Re: Erro na execução: "A memória não pôde ser read".
Enviado: 20 Nov 2010 18:11
por Maya Fiuza
Segui suas sugestões.
Não consegui rastrear o malware, mas em outras 2 maquinas, aparentemente não infectadas, consegui rodar certinho sem erros.
Os 3 PCs do cliente foram formatados, mas o erro permanece. O que fiquei intrigada foi que na minha máquina que está dando "zica", antes rodava redondo. Mistério...
Obrigada.