Patent ID: 7930491

Claim:
A method comprising: selecting a first allocated memory block from a plurality of allocated memory blocks; searching the first allocated memory block for a reference to a portion of memory; in response to finding the reference to the portion of memory in the first allocated memory block, determining that the reference to the portion of memory refers to at least one of: a free memory block, a non-allocated memory block, a restricted portion of memory, or an invalid portion of memory; and if the reference to the portion of memory in the first allocated memory block is at least one of: a free memory block, a non-allocated memory block, a restricted portion of memory, or an invalid portion of memory, verifying that the reference to the portion of memory still exists by examining at least a portion of the first allocated memory block, and reporting an address of the first allocated memory block as being related to possible memory corruption, wherein the reporting the address of the first allocated memory block as being related to possible memory corruption comprises: storing in a data structure: a program counter value, a process identification value, a process name, an initial block count, a previous block count, a current block count, the address of the first allocated memory block, contents of the first allocated memory block, a value of the reference to the portion of memory, an address of a memory block corresponding to the reference to the portion of memory, and contents of the memory block corresponding to the reference to the portion of memory.