A data structure within a block of allocable memory of a memory structure
such as a heap is used to identify the function that is responsible for
causing memory problems such as random overwrites, buffer overruns,
double or multiple "frees," and the like. The data structure can use the
return address of the function that allocates or frees the allocable
memory block to identify the caller. An identifier for the function is
generated and stored in the allocable memory block.