Debugging Memory in TotalView
NOTE: TotalView has long included the memory debugging features of TotalView in its Classic UI. The new UI now includes a range of memory-related features including leak detection, heap and event reports, and the ability to identify dangling pointers, with additional functionality added in each release. For the full-featured functionality of TotalView, see Debugging Memory Problems with TotalView in the Classic UI documentation in <installdir>\doc\pdf.
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.