Frage zu Pointer und Memory leak
-
Was bedeutet memory leak ( Speicher leck ) ?
Was passiert da ?
-
noob _-( <-- schrieb:
Was bedeutet memory leak ( Speicher leck ) ?
Was passiert da ?
Wenn du z.B mit
newSpeicher anforderst und den dann nicht freigibst, dann bleibt der allokiert. Sprich er ist blockiert, bis man ihn wieder freigibt, was niemals der Fall sein muss. Üblicherweise wird das das Heutzutage vom Betriebssystem gemacht, wenn dein Programm beendet ist.
-
Danke Stefan für die Antwort.
Hat mir sehr geholfen
Gibt es eigentlich Analysetools mit denen man Memory leaks finden kann?
Gruß und Danke
-
theliquidwave schrieb:
Gibt es eigentlich Analysetools mit denen man Memory leaks finden kann?
Ja, z.B. valgrind
-
Unter Windows und Visual C++ benutze ich gerne den Visual Leak Detector:
http://dmoulding.googlepages.com/vld
-
und nicht zu vergessen das Tool zwischen deinen Ohren

-
Hi.
Danke für die Antworten.
@ drakon: Das kann ich aber schlecht benutzen, da ich eine DLL erstelle, die kann ich ja schlecht im Debugmodus starten >_>
@ DStefan:
Gruß
-
theliquidwave schrieb:
@ drakon: Das kann ich aber schlecht benutzen, da ich eine DLL erstelle, die kann ich ja schlecht im Debugmodus starten >_>
GrußWarum sollte das nicht gehen?
-
Du kannst die DLL sogar debuggen mit Single Step....
-
Hi.
Wie soll das denn gehen?
Die .exe kommt ja nicht von mir - ich erstelle ja nur die .dll, muss aber die .exe starten um die .dll zu laden - wie also kann ich das realisieren?Gruß
-
theliquidwave schrieb:
Hi.
Wie soll das denn gehen?
Die .exe kommt ja nicht von mir - ich erstelle ja nur die .dll, muss aber die .exe starten um die .dll zu laden - wie also kann ich das realisieren?Gruß
Na und? Du schreibst dir einfach eine EXE, die Funktionen aus der DLL aufruft. Das ist ohnehin eine gute Idee, um deinen Code zu testen.
Stefan.
-
Hi.
Dann müsste ich aber ca 3/4 meines Codes auskommentieren, zumal ich die C API der Engine und von Python benutze _Gruß und Danke