Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi First chance exception, kein Debug-Ansatz (https://www.delphipraxis.net/203798-first-chance-exception-kein-debug-ansatz.html)

Rainer Wolff 25. Mär 2020 16:21

Delphi-Version: 10.3 Rio

First chance exception, kein Debug-Ansatz
 
Hallo,

ich suche nun schon ein paar Stunden nach den Abgründen eines Absturzes, aber finde keinen Ansatz, der Sache auf den Grund zu gehen.

Delphi 10.3 Rio

Die Exception-Meldung:
Code:
First chance exception at $009E1283. Exception class $C0000005 with message 'access violation at 0x009e1283: read of address 0x00301342'. Process Prodavi.exe (18940)
Mein Callstack hilft mir so richtig gar nicht weiter:

Code:
FireDAC.Phys.TFDPhysEventMessage.BasePerform
System.Classes.CheckSynchronize(???)
Vcl.Forms.TApplication.WndProc((0, 0, 0, 0, 0, 0, (), 0, 0, (), 0, 0, ()))
System.Classes.StdWndProc(724038,0,0,0)
:760b444b USER32.AddClipboardFormatListener + 0x4b
:76094f8c ; C:\WINDOWS\SysWOW64\USER32.dll
:760940de ; C:\WINDOWS\SysWOW64\USER32.dll
:76093ec0 USER32.DispatchMessageW + 0x10
Vcl.Forms.TApplication.ProcessMessage(???)
Vorangehend erzeuge ich im Programm nach Button-Click eine neue Entity und speichere diese mit dem Spring4D ORM in einer Firebird-Datenbank. Diese Operationen laufen aber alle noch anständig durch, der Button-Eventhandler wird komplett abgearbeitet. Erst wenn das Programm dann weiterläuft, kracht es.

So wie es aussieht, läuft das ganze in Tokyo ohne Abstürze.

Wie kann ich das Problem einkreisen?

Medium 25. Mär 2020 17:13

AW: First chance exception, kein Debug-Ansatz
 
Meine kurze Recherche ergab, dass "First Chance Exceptions" Ereignisse an den Debugger sind, und noch nicht zur weiteren Behandlung an das gerade laufende Programm übergeben wurden. Das Programm fängt diese möglicherweise geregelt ab, und es besteht eigentlich überhaupt kein Problem.

Dem würde ich entnehmen, dass dein Debugger in Rio anders konfiguriert ist als der in Tokyo, und idealerweise so wie dort eingestellt sein sollte. Mangels Zugriff auf diese Versionen (bzw. eines Delphis in diesem Moment) kann ich leider nicht sagen, welche Optionen hier in Frage kämen. Aber es scheint, als wäre es nicht angesagt in deinem eigenen Code weiter nach einem Fehler zu suchen - dort ist wahrscheinlich alles okay.

Edit: Wenn die Exception nicht abgefangen wird, so bekommt der Debugger noch eine "Second Chance Exception", welche dann in der Regel als "Unhandled Exception" vom allgemeinen Exception-Handler den man so kennt ganz normal gemeldet wird.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:34 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz