ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Access violation at address 410046E0 in module 'borlndmm.dll

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
mtsys
Novato
Novato


Registrado: Terça-Feira, 16 de Dezembro de 2014
Mensagens: 4

MensagemEnviada: Ter Dez 16, 2014 12:39 pm    Assunto: Access violation at address 410046E0 in module 'borlndmm.dll Responder com Citação

Pessoal,
estou com o erro nos aplicativos na empresa aonde eu trabalho, que é:

Access violation at address 410046E0 in module 'borlndmm.dll'. Write of address 00000004

Começou a ocorrer de repente e em locais diferentes e com situações diferentes. E como sempre não conseguimos simular o erro para ajustar o mesmo.

Utilizamos o Delphi 5, com BDE e quase todos aplicativos / DLL usam no uses do projeto a classe ShareMem.

O que posso fazer para tentar achar a solução?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
claudio.ferreira
Profissional
Profissional


Registrado: Quarta-Feira, 18 de Setembro de 2013
Mensagens: 667

MensagemEnviada: Ter Dez 16, 2014 4:50 pm    Assunto: Responder com Citação

..
_________________
Sistema SNGPC para farmácias
http://www.cmasistemas.com.br
Rastreabilidade de Medicamentos
https://www.sncm.com.br
Soluções em Delphi
https://delphisolutions.wordpress.com/
.
"E não sabendo que era impossível, foi lá e fez"
Mark Twain


Editado pela última vez por claudio.ferreira em Ter Out 09, 2018 11:43 am, num total de 2 vezes
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário
marcieldeg
Colaborador
Colaborador


Registrado: Terça-Feira, 5 de Abril de 2011
Mensagens: 1054
Localização: Vitória - ES

MensagemEnviada: Ter Dez 16, 2014 9:51 pm    Assunto: Responder com Citação

Erros em locais diferentes costumam ser causados por threads não corretamente finalizadas, ou que acessam objetos já excluídos da memória.

Outro ponto importante é a versão do Delphi que está utilizando. Esse pode ser um erro da IDE já corrigido em versões recentes.

Tente seguir o tutorial desse link, pode ser útil:
http://www.uebbi.com/delphi-localizando-erros-de-access-violation/

Vou transcrever para o caso da página sair do ar:

Seu aplicativo está gerando uma exceção não capturada e está exibindo uma mensagem de Access Violation e você quer identificar o local (arquivo, linha e código) onde o erro está ocorrendo? Eis o caminho:

Execute a aplicação [Run], entre no modo de depuração [Pause], vá em [Search] e em seguida em [Goto Address]
Entre com o endereço mostrado na mensagem [Ex: $00407E50 – note que você deve adicionar o sinal de $] e faça a busca – se encontrado, o endereço será selecionado automaticamente na aba CPU.
Adicione um Breakpoint no endereço recém encontrado [CTRL + B]
Execute a aplicação novamente.
Quando o Breakpoint for encontrado a aplicação será pausada, nesse momento você então poderá verificar o Caller [CTRL + L] – onde poderá visualizar a origem da chamada [arquivo, linha e código executado].
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
mtsys
Novato
Novato


Registrado: Terça-Feira, 16 de Dezembro de 2014
Mensagens: 4

MensagemEnviada: Qua Dez 17, 2014 8:29 am    Assunto: Responder com Citação

Valeu pelas dicas. Testei e achei o endereço, o pior que o meu caso, não consigo ver o código fonte com a origem do problema. Mas está certo que é uma thread pois fica indo neste endereço direto.

O código ficou:

Código:
410046E0 895A04           mov [edx+$04],ebx


Conforme o erro:

Código:
Access violation at address 410046E0 in module 'borlndmm.dll'. Write of address 00000004


estou achando que o pau foi dentro da borlndmm.dll, porém procurei o endereço 00000004, e ele está ???.

Será que o erro é mesmo dentro da borlndmm.dll ou dentro da minha aplicação?[/code]
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
albertschimidt
Novato
Novato


Registrado: Terça-Feira, 9 de Outubro de 2018
Mensagens: 1

MensagemEnviada: Ter Out 09, 2018 11:26 am    Assunto: Responder com Citação

Eu sei que o post é velho e pode ser que o autor já até tenha resolvido seu problema, mas aqui vai a solução de um caso parecido que ocorreu comigo recentemente. O erro era o mesmo, mudando apenas o address da mensagem. Se não me falha a memória, eu li no site do Delphi, no quesito implementação de DLL, que quando você trabalha com a unit ShareMem, ele PRECISA ser a PRIMEIRA unit declarada no Uses, para não ocorrer esses erros de memória. Apenas precisei mover a declaração da unit ShareMem para a primeira posição da Uses e o problema foi solucionado.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
johnny-walker
Moderador
Moderador


Registrado: Sábado, 4 de Outubro de 2003
Mensagens: 10653
Localização: Contagem/MG - BRAZIL

MensagemEnviada: Qui Out 11, 2018 8:34 am    Assunto: Responder com Citação

Se você criou uma dll no delphi, veja se não é por isto:

http://www.activedelphi.com.br/forum/viewtopic.php?p=24263&sid=633b5592bca7e2407c29cccbd1b9427e


Este é o gerenciador de memória do delphi, pode estar corrompido também.



bye
_________________
P.O.W.E.R B.Y D.E.L.P.H.I
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB