[vc++] Detecting Memory Leaks

a_d

Mitglied
Hallo zusammen,

kenne mich mit oben genannten Thema leider überhaupt nicht aus, habe aber schon durch Suchen in Foren usw. gelesen, dass ich mit dem Visual Studio Debugger Memory leaks finden kann.

Beim Beenden von meinem Programm erscheint dann folgende Ausgabe:

Code:
Detected memory leaks!  Dumping objects ->  
{455} normal block at 0x00337058, 16 bytes long.   
Data: < gD  Z3  [3     > A0 67 44 00 FC 5A 33 00 98 5B 33 00 01 CD CD CD  
{423} normal block at 0x003370E8, 16 bytes long.   
Data: < gD  Z3  [3     > A0 67 44 00 FC 5A 33 00 98 5B 33 00 00 CD CD CD   
{391} normal block at 0x00336408, 12 bytes long.   
Data: <`hD  Z3  [3 > 60 68 44 00 FC 5A 33 00 98 5B 33 00   
Object dump complete.

Nur leider weiß ich nicht, was ich damit anfangen kann! Wie finde ich jetzt raus, wo ein Memory Leak auftritt?

Gruß Andi
 
Deine Ausgabe sieht so aus, als ob die Lecks von einer von dir verwendeten Library verursacht wurden. Da ran zu kommen, ist etwas knifflig.
Wenn Lecks direkt von dir verursacht werden, und die entsprechende Allozierungsanweisung (new) in deinem Code steht, zeigt der Debugger dir auch die entsprechende Quelldatei und -zeile an.
 
Danke schonmal! Also wenn ich jetzt davon ausgehe, was du sagst, dann kann ich sozusagen nichts daran ändern!

Mir ist eben beim Testen noch aufgefallen, dass die Lecks nur auftreten, wenn ich eine bestimmte Anweisung ausführe, also könnten sie ja im Prinzip noch einen anderen Ursprung haben.

Was meinst du genau mit Library? (Habe nichts besonderes verwendet...) Kann das von einem ActiveX-Control stammen?

André
 
Eine Library ist irgendein Stück bereits compilierter Code, den du zu deinem Programm dazulinkst. Kann auch mit ActiveX zusammenhängen. Ich weiss ja nicht, was du da machst, aber es könnte sein, dass in der von dir erwähnten Funktion Speicher alloziiert wird, der durch eine entsprechende Funktion wieder freigegeben werden muss. Das ist zwar ungeschickt ausgedrückt, aber vielleicht verstehst du ja, was ich meine.
 
Ist eigentlich nur eine vom Visual-Studio Assistenten generierte Anwendung mit nichts besonderem (jedenfalls nicht dass ich wüsste) und dem MSFlexGrid -Control.

Ok, Library hatte ich doch richtig im Kopf, war mir nur eben unsicher! Danke jedenfalls!

Werde mir es dann nachher nochmal anschauen! Vielleicht finde ich es ja dann raus! Weiß nämlich nicht, ob es eine solche Funktion bei dem MSFlexGrid gibt, oder ob man es da z.B. überhaupt machen muss!
 
Oh ja, so speziell kann ich das nicht sagen! ;-)

Ich habe mir ein Menüpunkt erstellt um Daten von einem an der seriellen Schnittstelle angeschlossenen Gerät auszulesen und diese dann in das FlexGrid einzutragen.

Führe ich das aus, so entsteht beim beenden des Programms ein Memory Leak....
 
Das ist bitter. Und meiner Meinung nach einer der ärgerlichsten Fehler, weil es manchmal sehr viel Arbeit bedeutet, ihn zu beheben.
 
...das sind ja tolle Aussichten!

Bin ja eigentlich nicht so wirklich der Erfahrendste! Sind jetzt so ca. 4500 Zeilen! Muss ich mich wohl erstmal mental drauf vorbereiten! ;)

Danke jedenfalls für die Hilfe!
 

Neue Beiträge

Zurück