speicher überwachen
-
Hallo,
gibt es irgendein programm womit man überwachen kann wieviel speicher ein programm allokiert und wann es wieviel speicher wieder freigibt und ob es auch allen speicher wieder freigegeben hat wenn es beendet wurde ?
-
Hallo.
Üblicherweise wird das Betriebssystem den Speicher eines Programms wieder freigeben. (Es mag aber Fälle geben, wo das nicht so ist.) Genauso kann man versuchen, mit systemeignen Mitteln (z.B. Taskmanager bei Windows) einem Speicherproblem auf die Spur zu kommen.
Wenn Du den Quellcode des Programms vorliegen hast, kannst Du evtl. eine andere Speicherverwaltung schreiben die die malloc() & Co Aufrufe überwacht. Es gibt hierzu auch fertige Routinen im www [1]. Du kannst aber auch versuchen z.B. mit 'grep' alle malloc() bzw. calloc()-Aufrufe zu finden und dann mit der Anzahl/Fundstelle der free() Aufrufe vergleichen.
Generell würde ich sagen, das es recht schwer ist, ein Speicherleck in einem Programm zu finden.
[1] http://www.wikiservice.at/dse/wiki.cgi?GarbageCollection