Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Wie spühre ich unsichtbare Programmfehler auf? (https://www.delphipraxis.net/139804-wie-spuehre-ich-unsichtbare-programmfehler-auf.html)

Sir Rufo 16. Sep 2009 10:54

Re: Wie spühre ich unsichtbare Programmfehler auf?
 
"Ein Computer (ein Programm) macht genau das, was ich ihm sage!"
wie im wahren Leben klafft aber teilweise ein große Lücke zwischen dem Gesagten und dem Gewünschten.

Hast Du in deinem Programm eine Log-Funktion?

Nein -> Baue eine ein
Ja -> Erweitere die Log-Ausgaben um weitere relevanten Daten

Relevante Daten:

- In jedem except-Teil den Wert von E.Message in die Log schreiben

- Zähle doch mit wieviele Daten dein Programm bislang verarbeitet hat,
vielleicht landest du immer beim ähnlichen Wert (z.B. nach ca. 2GB Daten Absturz)

Manchmal hilft es auch "jeden Scheiß" in die Log-Datei zu schreiben.
Damit dieses aber auch nur in der "Debug"-Version deines Programms erfolgt,
solltest du diese Zeilen für das Log-Schreiben mit einem Compiler-Schalter kapseln.
Delphi-Quellcode:
{$IFDEF DEBUG} SchreibeLog( 'Hier ist alles toll' ); {$ENDIF}
Auf FastMM, etc. gehe ich nicht weiter ein, darauf wurde hier schon ausführlich hingewiesen.

cu

Oliver

daredd 28. Sep 2009 09:10

Re: Wie spühre ich unsichtbare Programmfehler auf?
 
Hallo Freunde,

ich habe nun wie ihr mir zuvor beschrieben habt die Punkte vor FulldebugMode und LogMemoryLeakDetailToFile weggenommen, trozdem kommt nur diese eine Meldung.

---------------------------
MetaBioWave.exe: Speicherleck entdeckt
---------------------------
Diese Anwendung hat Speicher-Lecks. Die kleineren Speicher-Lecks sind (ausschließlich von Zeigern registrierte Lecks):



13 - 20 bytes: TMRotateItem x 1, Unbekannt x 1

21 - 28 bytes: TMRotateList x 1

53 - 60 bytes: TBitmap x 1, AnsiString x 1

109 - 116 bytes: TBitmapImage x 1



Hinweis: Um eine Protokolldatei zu erhalten, die Details über Speicherlecks enthält, aktivieren Sie die "{$ FullDebugMode}" und "{$ LogMemoryLeakDetailToFile}" Definitionen. Um die Speicherleckprüfung zu deaktivieren, deaktivieren sie die "{$ EnableMemoryLeakReporting} -Option".


---------------------------
OK
---------------------------

Warum?
Oder wird das Protokoll in ein Dokument abgepeichert welches ich gerade nicht finden kann?

THX

daredd 28. Sep 2009 11:39

Re: Wie spühre ich unsichtbare Programmfehler auf?
 
Kann mir hier etwa keiner sagen wie ich das FastMM protokoll bekomme????? :(


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:45 Uhr.
Seite 3 von 3     123   

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 by Thomas Breitkreuz