Boa tarde pessoal!

Estou desenvolvento um sistema que trabalha com várias Threads.

O sistema tem a função de extrair dados dos servidores e geram um arquivo
.txt que é importado por outra Thread.

Lendo em alguns artigos vi que os métodos que não alteram algo dentro da VCL
não devem utilizar o Synchronize.

O sistema roda tranquilamente durante uns 4 minutos e log em seguida acaba
gerando vários Access Violation, para tentar encontrar o problema eu
utilizei o componen Expression Manager para gerar os logs incluisive o call
Stack.

Um exmeplo dos logs segue abaixo:

Tipo            : EAccessViolation ( EExternal )

Unit            : Classes

Linha           : <Unknown>

Classe          : Classes

Função          : TComponent.Notification

Endereço        : 0x0042AA68

Sender Class    : TTimer > TComponent > TPersistent > TObject

Sender Name     : tmrPing

Ip              : 121.120.119.142

Mem Total(Kb)   : 515.180 Ko

Mem Disp(%)     : 94 %

Mem Virtual(Kb) : 2.097.024 Ko

Mem Vir Disp(Kb): 2.064.796 Ko

Pag Total(Kb)   : 1.259.336 Ko

Pag Disp(Kb)    : 409.056 Ko

Mensagem        : Access violation at address 0042AA68 in module
'Monitoramento.exe'. Read of address 00000830

Call Stack      : U_XAM_Debug::U_XAM_Debug.TXAMDebug.GetCallStack

 
U_XAM_Debug::U_XAM_Debug.TXAMDebug.GetExceptionInfos

 
U_XAM_Debug::U_XAM_Debug.TXAMDebug.ProcessException

 
U_XAM_Debug::U_XAM_Debug.TXAMDebug.HandleException

 
Forms::Forms.TApplication.HandleException

                                                 Classes::Classes.StdWndProc

 
Windows::Windows.HwndMSWheel

 
ActiveX::ActiveX.SafeArrayGetUBound

                                                 SysConst::ActiveX.Succeeded

                                                 SysConst::ActiveX.Succeeded

 
Variants::varian...@varfromlstr

 
Variants::varian...@vartoint64

 
Classes::Classes.TComponent.DestroyComponents

 
Classes::Classes.TThread.CheckThreadError

 
Menus::Menus.TMenu.UpdateImage

 
Menus::Menus.TMenu.AdjustBiDiBehavior

 
StdCtrls::StdCtrls.TCustomGroupBox.AdjustClientRect

 
StdCtrls::StdCtrls.TCustomGroupBox.Create

 
SysUtils::SysUtils.ShowException

                                                 System::System.ParamCount

                                                 SysUtils::SysUtils.ScanTime

Já tentei analizar este log, principalmente tentar encontrar uma explicação
para o Access violation.

Se alguém analizando este log conseguir encontrar algo que possa me ajudar
agradeço.

Aproveitando, Feliz Ano Novo a todos.

 

Fábio Lima de Oliveira
Analista de Sistema
Grupo Coan Alimentos & Serviços

Fone: +55 15 3282-9050

Ramal: 9050
Cel: 19 9187-4192
E-mail:  <mailto:fabio.l...@grupocoan.com.br> fabio.l...@grupocoan.com.br

Site:  <http://www.grupocoan.com.br/> http://www.grupocoan.com.br

 



[As partes desta mensagem que não continham texto foram removidas]

Responder a