If you have ever used Mungwall and Munglist to find out if your program loses
memory, you will probably know, that these only tell you the amount and sizes of
memory-packets that get lost. They cannot tell you exactly where in your program
you lose the memory.
Now it is possible to execute your program line by line in a debugger. If you
start Munglist after every line, you can find out in which source-line you
allocate memory, which you do not free afterwards.
And thats exactly what findmemloss.cpr does. It is an Arexx-script for cpr which
executes a function of you program line by line and then tells you in which line
you have allocated the memory, that gets lost.
But be careful: It is written in Arexx and it starts Munglist after every line.
Thus it is very slow... but it works!
|