AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Wie spühre ich unsichtbare Programmfehler auf?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie spühre ich unsichtbare Programmfehler auf?

Ein Thema von daredd · begonnen am 5. Sep 2009 · letzter Beitrag vom 28. Sep 2009
Antwort Antwort
Seite 3 von 3     123   
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#21

Re: Wie spühre ich unsichtbare Programmfehler auf?

  Alt 16. Sep 2009, 09:54
"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.
{$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
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
daredd

Registriert seit: 2. Apr 2006
433 Beiträge
 
#22

Re: Wie spühre ich unsichtbare Programmfehler auf?

  Alt 28. Sep 2009, 08:10
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
---------------------------------------------------------------------------
Mein Vista-Kind bringt frischen Wind

Gruß DaRedd aka The Red Dragon
  Mit Zitat antworten Zitat
daredd

Registriert seit: 2. Apr 2006
433 Beiträge
 
#23

Re: Wie spühre ich unsichtbare Programmfehler auf?

  Alt 28. Sep 2009, 10:39
Kann mir hier etwa keiner sagen wie ich das FastMM protokoll bekomme?????
---------------------------------------------------------------------------
Mein Vista-Kind bringt frischen Wind

Gruß DaRedd aka The Red Dragon
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 23:32 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