1. A computer-implemented method of monitoring memory accesses by a computer program including a plurality of processes, the method comprising: receiving input to create a watchpoint to monitor memory accesses to a memory region that is shared by the plurality of processes included in the computer program, wherein the watchpoint is given a unique identifier; displaying the unique identifier to identify said watchpoint; directing each of the plurality of processes to monitor memory accesses to the memory region; monitoring memory accesses to the memory region by each of the plurality of processes utilizing the watchpoint; and writing to a log of memory accesses to the memory region by the plurality of processes, wherein each entry in the log comprises a listing of a stack of functions leading to accessing of an address of the memory region being accessed and wherein at least one entry in the log identifies an illegal memory access by one of the processes writing data to the shared memory region by utilizing a stale pointer after release of the shared memory region.