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.