AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi EAccessViolation führt zu unerwartetem APPCRASH (gelöst)
Thema durchsuchen
Ansicht
Themen-Optionen

EAccessViolation führt zu unerwartetem APPCRASH (gelöst)

Ein Thema von mjustin · begonnen am 23. Mai 2018 · letzter Beitrag vom 23. Mai 2018
 
mjustin

Registriert seit: 14. Apr 2008
3.010 Beiträge
 
Delphi 2009 Professional
 
#5

AW: EAccessViolation führt zu unerwartetem APPCRASH

  Alt 23. Mai 2018, 07:45
Update:

Am Break liegt es nicht, mit diesem Code ergibt sich beim Stoppen des Servers ebenfalls ein APPCRASH:

Delphi-Quellcode:
procedure TProducerLoop.Run;
begin
  while True do
  begin
    Connect;

    while IsConnected do
    begin
      try
        ProduceOneMessage;
      except
        on E: Exception do
        begin
          IsConnected := False; // ---------------- Die innere Schleife soll bei einer Exception verlassen (stattdessen APPCRASH)
        end;
      end;
    end;

    Disconnect;
  end;
end;
Im Stacktrace erscheint die Zeile 111 aus der ProducerLoop unit, dies ist die Zeile in der das IsConnected := False steht mit dem die innere Schleife verlassen wird.

Code:
exception class  : EAccessViolation
exception message : Access violation at address 00404A74 in module 'Producer.exe'. Read of address 00000000.

main thread ($b50):
00404a74 +170 Producer.exe  System                 72  +0 @HandleOnException
00404b5e +02a Producer.exe  System                 72  +0 @HandleFinallyInternal
77e83835 +0f4 ntdll.dll                                    RtlUnwind
77e4ed27 +063 ntdll.dll                                    bsearch
77e3015e +00a ntdll.dll                                    KiUserExceptionDispatcher
0045b0cf +033 Producer.exe  SysUtils                      AppendChars
7584c538 +041 KERNELBASE.dll                               RaiseException
0040461a +002 Producer.exe  System                 72  +0 @ClassDestroy
0045d528 +03c Producer.exe  SysUtils                      Exception.Destroy
00404198 +008 Producer.exe  System                 72  +0 TObject.Free
004531c9 +009 Producer.exe  madExcept                     InterceptFreeExceptObject
00404d0a +016 Producer.exe  System                 72  +0 @DoneExcept
00482ece +04e Producer.exe  ProducerLoop          111 +12 TProducerLoop.Run
77e3015e +00a ntdll.dll                                    KiUserExceptionDispatcher
77e4ed27 +063 ntdll.dll                                    bsearch
7584c538 +041 KERNELBASE.dll                               RaiseException
77e3015e +00a ntdll.dll                                    KiUserExceptionDispatcher
7584c538 +041 KERNELBASE.dll                               RaiseException
00491dee +016 Producer.exe  IdStack               894  +1 TIdStack.RaiseLastSocketError
00491d59 +015 Producer.exe  IdStack               868  +2 TIdStack.CheckForSocketError
0048df39 +025 Producer.exe  IdStackBSDBase        444  +1 TIdStackBSDBase.Receive
0049320e +012 Producer.exe  IdSocketHandle        321  +1 TIdSocketHandle.Receive
0049d843 +02b Producer.exe  IdIOHandlerStack      431  +2 TIdIOHandlerStack.ReadDataFromSource
00497142 +0e2 Producer.exe  IdIOHandler          1698 +28 TIdIOHandler.ReadFromSource
0049d367 +00b Producer.exe  IdIOHandlerStack      243  +1 TIdIOHandlerStack.Connected
0049736b +017 Producer.exe  IdIOHandler          1775  +8 TIdIOHandler.CheckForDataOnSource
0049ed86 +04e Producer.exe  BTCommAdapterBaseIndy 421  +6 TBTCommAdapterBaseIndy.ConsumeHeartBeats
0049ef19 +055 Producer.exe  BTCommAdapterBaseIndy 516  +6 TBTCommAdapterBaseIndy.ReadStompHeader
0049f636 +02a Producer.exe  BTCommAdapterIndy      66  +1 TBTCommAdapterIndy.ReadFrame
0049f199 +055 Producer.exe  BTCommAdapterBaseIndy 574  +5 TBTCommAdapterBaseIndy.ReadOneMessage
00477dce +066 Producer.exe  BTStompClient        1232  +6 TBTStompClient.WaitForReceiptFrame
00475ca0 +140 Producer.exe  BTStompClient         681 +22 TBTStompClient.Send
0047a426 +09e Producer.exe  BTAbstractTransport   191 +12 TBTAbstractTransport.InternalSend
0047a6b1 +029 Producer.exe  BTAbstractTransport   242  +3 TBTAbstractTransport.Send
004813fa +126 Producer.exe  BTConnection         1460 +40 TBTSession.Send
0047f4bc +0bc Producer.exe  BTMessageProducer     251 +27 TBTMessageProducer.Send
0047f38b +027 Producer.exe  BTMessageProducer     209  +1 TBTMessageProducer.Send
0047ba1a +022 Producer.exe  BTMQProducer          160  +2 TBTMQProducer.InternalSend
0047b8be +03e Producer.exe  BTMQProducer          125  +3 TBTMQProducer.Send
00482f72 +086 Producer.exe  ProducerLoop          128  +5 TProducerLoop.ProduceOneMessage
00482ea5 +025 Producer.exe  ProducerLoop          107  +8 TProducerLoop.Run
004831f7 +033 Producer.exe  ProducerUnit           38  +5 RunDemo
004a0754 +020 Producer.exe  Producer               15  +3 initialization
7574343b +010 kernel32.dll                                 BaseThreadInitThunk
Michael Justin
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz