Dynamically working with system memory can be quite a complicated affair. If you're not careful, your code might either:
Fail to free memory - referred to as a memory leak
Mistakenly reference non-allocated memory - referred to as an array bounds read or array bounds write
A memory leak detection utility monitors an application as it executes, keeping an eye on memory usage to ensure the above problems don't occur. If they do occur, the detection utility points out the sequence of events leading up to the poor usage of memory, helping you deduce the cause of the error and thereby repair your code.
This function is provided in IBM Rational Test RealTime by the memory profiling feature for the C and C++ languages.