Memory Leaks (Error Detection)

Related Topics

Leaked memory is memory that is allocated but never freed, and for which no pointers are accessible. Although these blocks of memory can't be used again or freed, they still occupy address space. Because leaked memory blocks are typically scattered throughout the heap, the address space becomes fragmented. The memory leaks gradually affect the performance of the program and can eventually cause the program to fail from lack of memory.

Purify identifies true memory leaks by searching the entire address space looking for allocated memory to which there are no pointers. This technique enables Purify to detect a few leaked blocks out of the many blocks in use. This precision is critical, as a few bytes leaked can be easily missed amid the megabytes of allocated data in use. With Purify, even short test cases can be valuable in finding leaks.

(C) Copyright IBM Corporation 1992, 2010.