Debugging Memory in TotalView
TotalView helps you locate many of your program’s memory problems. In most cases, TotalView creates and records a backtrace for memory blocks, so you can immediately know where your program allocated or freed the memory block.
For example, you can:
*Detect Leaks
TotalView can display reports of your program's memory leaks, i.e., memory blocks that are allocated and are no longer referenced, in which case the program can no longer access the memory block, and that memory is unavailable for any other use. See Memory Leaks.
*Analyze Heap Allocations
TotalView can locate heap allocations and display related information. Heap allocations are derived from monitoring program requests for memory (malloc or new). See Memory Heap Reports.
*Report Memory Events
A number of memory events can notify you and stop execution if you choose. For example, if a block was previously deallocated, TotalView can stop execution and report a “double free” error. See Memory Event Reports.
*Memory Block Notifications
You can tag specific memory blocks to have TotalView notify you when memory is allocated or freed. See Memory Block Notification.
*Memory Debugging Options
Refine your debugging session using multiple options to help find memory problems, including painting memory, hoarding memory blocks, and guarding allocated memory. See Memory Debugging Options.