A method, medium, and computer-program product is provided for tracking memory-usage
characteristics of an application. The invention includes a suite of tools to evaluate
memory usage of uninstrumented binaries by tracking memory allocations, de-allocations,
and in-memory-presence attributes at the module level. Memory-manipulation function
calls (not limited to allocations and deallocations) are hijacked to code segments
that annotate and log then-current memory characteristics. Processing is reverted
back to its from-hijacked position and allowed to continue. In-memory presence
of allocated memory and labels for certain points at time are tracked as well.
The tracked data is logged so that algorithms can be run to extract desired information,
which can be presented in various reports.