AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Fehler in finalizeunits unit 28

Ein Thema von ImpactMG · begonnen am 11. Jul 2007 · letzter Beitrag vom 15. Jul 2007
Antwort Antwort
Seite 1 von 2  1 2      
ImpactMG

Registriert seit: 11. Jul 2007
16 Beiträge
 
#1

Fehler in finalizeunits unit 28

  Alt 11. Jul 2007, 19:30
hallo,

habe ein Problem und bin am Verzweifeln. Delphi 2007
Es ist ein recht grosses Projekt, und _manchmal_ (leider nicht immer, ich kann nicht herausfinden wovon es ebhängt) passiert beim Beenden des Programms in finalizeunits in unit 28 oder 27 eine access violation, zugriff auf adresse 0000000. Ich bin alle finalizations-sections durchgegangen, und der fehler passiert nach der letzten von mir geschriebenen finalization. Der zahl nach (28) nehme ich an, dass es eine unit ziemlich "tief" ist - sprich von delphi selbst. Wie kann ich herausfinden welche Unit Probleme macht? Die Datenstrukturen in System.pas sagen mir leider wenig.

Habe schon Tage beim Debuggen verloren und komme nicht weiter

kann jemand helfen?

danke

lg
marius
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Fehler in finalizeunits unit 28

  Alt 11. Jul 2007, 19:33
Der Fehler weist auf einen Zugriff auf ein nicht instantiirtes bzw. bereits freigegebenes Objekt hin. Wie gibst du frei (FreeAnNil())?
Markus Kinzler
  Mit Zitat antworten Zitat
ImpactMG

Registriert seit: 11. Jul 2007
16 Beiträge
 
#3

Re: Fehler in finalizeunits unit 28

  Alt 12. Jul 2007, 08:08
nicht alles, das projekt wurde von d5 auf d2007 portiert und ist ziemlich gross. gibt es eine chance den fehler einzugrenzen?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Fehler in finalizeunits unit 28

  Alt 12. Jul 2007, 08:12
Dir ist doch bekannt das im im finalization-Teil der Units 27 oder 28 auftritt.
Markus Kinzler
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: Fehler in finalizeunits unit 28

  Alt 12. Jul 2007, 08:27
Nur wie bekommt man denn raus, wer Unit #27 und #28 ist?
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Fehler in finalizeunits unit 28

  Alt 12. Jul 2007, 08:28
du solltest dir den callstack anschauen. Es bringt dir nichts wenn du heraus findest das der Fehler in der unit System auftaucht wenn diese versucht etwas bereits frei gegebenes nochmal freizugeben. Du solltest dann eher anhand des Stacks heraus finden was versucht wurde erneut frei zu geben (falls das der Fehler ist)
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: Fehler in finalizeunits unit 28

  Alt 12. Jul 2007, 08:39
Weiterhin könnte der Einsatz von FastMM oder MemCheck etwas bringen.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Fehler in finalizeunits unit 28

  Alt 12. Jul 2007, 10:42
Moin Marius,

Zitat von alzaimar:
Weiterhin könnte der Einsatz von FastMM oder MemCheck etwas bringen.
nicht zu vergessen:

madexcept und Eurekalog
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#9

Re: Fehler in finalizeunits unit 28

  Alt 12. Jul 2007, 13:14
Schalte in den Projektoptionen beim Compiler die Option "Mit Debug-DCUs" ein und erstelle das komplette Projekt neu. Dann kannst du mit F7 und F8 das Finalization beim beenden der Applikation komplett durchgehen. Du kannst dafür ein Brechpunkt vor dem "end." im DPR setzen und von dort dann mit F7 hinterhergehen.
  Mit Zitat antworten Zitat
ImpactMG

Registriert seit: 11. Jul 2007
16 Beiträge
 
#10

Re: Fehler in finalizeunits unit 28

  Alt 13. Jul 2007, 15:10
Vielen Dank für die Tips! Habe jetzt mal überall FreeAndNil angeführt und in jedem Destructor jeder Klasse if Assigned() then FreeAndNil()... angegeben
warte jetzt bis der Fehler wieder kommt

Die exception kommt leider _nach_ jeder im programmcode erfassten finalization section
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 04:24 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