![]() |
AV aus dem Nirgendwo beim Beenden
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe eine Win32-VCL-Anwendung. Beim Beenden bekomme ich, nicht nachvollziehbar, Zugriffsverletzungen. Weder der Debugger noch FastMM bringen mich hier irgendwie weiter- im Debuger sehe ich nur das hier:
Anhang 43062 Ich bin kein Meister am Debugger und weiß nicht wie ich mich hier verhalten soll. |
AW: AV aus dem Nirgendwo beim Beenden
Wenn es wirklich nur beim Schließen der Anwendung vorkommt, solltest Du dir dort haltepunkte setzen, wo Formulare geschlossen werden (und es z.B. OnClose- oder OnDestroy-Events gibt) oder finalization-Abschnitte existieren. Vielleicht existieren dort irgendwelche Referenzen auf Objekte nicht mehr. So würde ich erst einmal vorgehen (in Unkenntnis deines Projektes). Meistens weiß ich noch, was ich gerade geändert hatte und habe da ebenfalls einen Anhaltspunkt ...
|
AW: AV aus dem Nirgendwo beim Beenden
Hast du irgendwelche Threads während zur Laufzeit gestartet? Oftmals kommen AVs (zumindest bei mir), wenn ich bezüglich Threads etwas falsch gemacht habe - nicht richtig freigegeben, nicht synchronisierter Zugriff von Threads auf die VCL etc.
|
AW: AV aus dem Nirgendwo beim Beenden
Nein, ist eine eher simple Anwendung, nichts mit TThreads, auch sonst keine Abenteuerlichkeiten.
Mich irritiert der Callstack im Debugger. Der gibt ja wirklich absolut nichts her. Beim nächsten mal schaue ich aber mal in die anderen Threads, vielleicht geben die ja etwas her... // Update: Das Programm kommt problemlos bis zum letzten "end." der DPR, drücke ich danach F7: Es knallt in System.pas:_Halt0() unter
Delphi-Quellcode:
beim Aufruf von P()
if InitContext.DLLInitState = 0 then
while ExitProc <> nil do begin @P := ExitProc; ExitProc := nil; P; end; Absolut keine Ahnung... |
AW: AV aus dem Nirgendwo beim Beenden
Hast Du es mal stand alone versucht (also nicht aus der IDE heraus starten)?
Ich hatte mal Probleme bei eigenen Framework-Controls, wenn nach der Projektausführung wieder die IDE wieder geöffnet wurde. |
AW: AV aus dem Nirgendwo beim Beenden
Also ich steppe immer weiter durch und merke dass es beim Freigeben eins TPageControl knallt. Warum weiß ich nicht. Wo genau (also wohl eher ein darauf enthaltener Frame) weiß ich auch nicht. Der Debugger kann mir hier ja nicht helfen. :cry:
|
AW: AV aus dem Nirgendwo beim Beenden
Setz doch mal zwischen das
Delphi-Quellcode:
und das
Application.Run
Delphi-Quellcode:
ein
end
Delphi-Quellcode:
. Taucht der Fehler dann noch auf? Kanst du ihn da besser debuggen?
Application.DestroyComponents
|
AW: AV aus dem Nirgendwo beim Beenden
Nein, leider nicht.
Der Fehler tritt weiterhin auf und der Stack ist der gleiche. Ich gebe die Formulare vorher mal manuell frei und schaue was passiert. Oder lasse den "Globale Variable + Application.Run()"-Quatsch gleich ganz... |
AW: AV aus dem Nirgendwo beim Beenden
Zitat:
|
AW: AV aus dem Nirgendwo beim Beenden
Eventuell gibst Du Komponenten doppelt frei.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:58 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