Speicher Leck

CodeFatal

Erfahrenes Mitglied
Hallo ich mal wieder,

Ich habe in meinem aktuellen Programm wohl etwas schlampig gearbeitet und Speicherlecks erzeugt :-( Zumindest meldet das mein Compiler. Das Programm stürzt aber ansonsten nicht ab und arbeitet wie erwartet.

Ich arbeite mit .Net 2003 und habe in der Hilfe einen Artikel mit der Überschrift "Detecting and Isolating Memory Leaks Using Microsoft Visual c++" gefunden.
Unter http://msdn.microsoft.com/library/d...g/html/vxcondetectingisolatingmemoryleaks.asp gibt es das ganze auch online.

Leider erhalte ich immer die eingeschränkte Informationsmeldung, d.h. ich habe keine Information darüber, wo ich den Fehler genau begangen habe...

Vermutlich rufe ich die Funktionen an den falschen stellen aufgerufen. Kann mir jemand vielleicht genau sagen, wo man das machen muss?
Habe ein MFC Projekt (Dialogfeld basierend) erstellt.
Mehrer Dialoge dazu gebastelt und Dateien zugefügt.

Hat jemand vielleicht Erfahrungen mit diesem Problem, bzw. hat eine andere effiziente Methode die Lecks zu beseitigen?

Danke schon mal
Gruss Michael
 
Geh als erstes mal alle Aufrufe von Funktionen zum reservieren von Speicher durch. (zB. new / malloc ) Und schaue dann, ob diese Variablen auch wieder gelöscht werden.
Setze doch einmal einen Breakpoint in die Fuktion, die alles freigibt. Vielleicht wird sie einfach nicht aufgerufen. Oder zeige mal etwas Code.
 
Wenn du das Programm im Debug-Modus laufen lässt, wird doch nach dem Beenden des Programm im Message-Fenster neben der Info zum Memory Leak auch die problematische Codestelle mit angezeigt. Das sollte dann schon mal ein guter Anhaltspunkt sein.
 
Abend,
die meisten der Stellen hab ich bereits aus gemerzt durch einfaches zählen von new und delete. Waren im nachhinein auch klar, aber im Eifer des Gefechts...
Die CodeStellen hab ich trotzdem nicht angezeigt bekommen... nur Speicheradressen und die bringen nicht wirklich viel. Falls jemand den Umgang mit den analyse Funktionen hat wäre ne Anleitung nicht schlecht... Kann es vielleicht sein, das das Projekt zu gross ist und .Net den Überblick verliert?
Naja wie dem auch sei, das beste ist wohl gleich richtig zu arbeiten :)

Schönen Abend noch Michael
 

Neue Beiträge

Zurück