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.