ILE memory leak detection
Other than using ps from qsh or pase, using the monitor in product
5722PT1 or writing your own debug code, does anyone know of any tools,
methods or techniques for finding out if a long running, ILE compiled
product contains memory leaks? In this case, most of the code is
written in C and the remainder in CL.
Mike
Re: ILE memory leak detection
Probably the "Open List of Activation Group Attributes (QWVOLAGP)" API might be a starting point. It
produces a list of all activations groups of a job and their attributes. Beside other attributes it
returns the "Static storage size" and the "Heap storage size".
It might be possible to detect memory leaks by periodically calling this API and compare the results.
Thomas Raddatz.
[email]yl_mra@yahoo.com[/email] schrieb:[color=blue]
> Other than using ps from qsh or pase, using the monitor in product
> 5722PT1 or writing your own debug code, does anyone know of any tools,
> methods or techniques for finding out if a long running, ILE compiled
> product contains memory leaks? In this case, most of the code is
> written in C and the remainder in CL.
>
> Mike
>[/color]
Re: ILE memory leak detection
Thanks Thomas, this looks perfect.
Mike
Thomas Raddatz wrote:[color=blue]
> Probably the "Open List of Activation Group Attributes (QWVOLAGP)" API might be a starting point. It ...[/color]
Re: ILE memory leak detection
[email]yl_mra@yahoo.com[/email] wrote:[color=blue]
> Other than using ps from qsh or pase, using the monitor in product
> 5722PT1 or writing your own debug code, does anyone know of any tools,
> methods or techniques for finding out if a long running, ILE compiled
> product contains memory leaks? In this case, most of the code is
> written in C and the remainder in CL.
>[/color]
there is the Materialize Activation Group-Based Heap Space Attributes
(MATHSAT) MI instruction:
[url]http://publib.boulder.ibm.com/iseries/v5r2/ic2924/info/mi/MATHSAT.htm[/url]
It has bound program access so it can be run from an RPG program. The
documentation says it wants the "heap identifier in the current
activation group". Not sure what that is.
If you could get this to work it would be ideal for what you are
looking to do.
-Steve