Toon posts:

[VB] Memory functies

Pagina: 1
Acties:

Verwijderd

Topicstarter
Bestaat er in VB een functie als:
GetFreeMemory() as long

Die weergeeft hoeveel vrij geheugen er nog in het systeem aanwezig is.

Deze functie wil ik namelijk gebruiken om te controleren of al het geheugen weer vrij gegeven wordt na het instantieren en termineren van objecten. Of dat het geheugen langzaam vol loopt.

Hoe checken jullie op memory leaks?

Verwijderd

ik (in c++ althans) gebruik altijd de win32 api functies
GlobalAlloc & GlobalFree.

Maar ik bouw er een eigen funtie omheen die ik binnen mijn source aanroep. (die noem ik dan mem_alloc & mem_free). En dan heb ik twee globale variabelen alloc_count & free_count.
Bij een mem_alloc aanroep: alloc_count++
Bij een mem_free aanroep: alloc_free++

En dan doe je: alloc_count - free_count en je weet precies hoeveel items er in je geheugen staan die nog vrijgegeven moeten worden.
Je kan ook nog een systeempje verzinnen voor de size (dus niet de count) maar dat is wat lastiger. Omdat je met mem_free de size niet weet. Maar daar zijn truukjes voor te verzinnen....

  • XTerm
  • Registratie: Juli 2001
  • Laatst online: 10-06-2025

Verwijderd

Als je uberhoud last hebt van 'n memory leak, lijkt het met sterk dat het door vb code word veroorzaakt..

als ik wil weten of 'n extern component leaked, dan maak ik het gewoon 100.000x aan en delete ik 'm weer, en kijk ik of de memory size in de taskmanager als 'n gek oploopt.