MemoryScape Features
Intuitive, Wizard Based Navigation
An intuitive user interface makes MemoryScape extremely easy to use and guides the user through various memory debugging tasks allowing the user to quickly locate their memory debugging problems and understand how their program is using memory.
Heap Information Display
The enhanced user interface in MemoryScape allows developers to focus on the most important memory problems. Track and interpret allocated, deallocated and leaked memory blocks with various status reports and a graphical browser that displays the heap layout in a simple color-coded format clearly showing heap fragmentation and the relationship of allocated, deallocated and leaked memory blocks.
Memory Leak Detection
MemoryScape simplifies leak detection, producing a leak detection report that organizes information hierarchically and provides detailed information about the leaked memory block, such as the program line number and how many bytes were leaked.
Memory Event Tracking
MemoryScape tracks memory events and can stop program execution and display event information at the time of the event, just before a possible crash inducing memory event.
Corrupted Memory Detection
Using patterned guard regions around each allocated memory block, MemoryScape can detect when heap memory bounds are exceeded.
Memory Usage Reports
See your programs overall usage of memory using the memory usage reports. These reports display the amount of memory used by text and data areas, as well as heap, stack and virtual memory sizes. Tracking this information over time allows programmers to determine when memory usage becomes unacceptable.
Irrelevant Information Filters
Troubleshooting memory problems is less confusing because developers can create filters that hide unnecessary data. For example, a filter can hide leaks that originate in libraries that the developer doesn't control.
Automated Memory Debugging with Scripts
Users such as QA and testing developers need an automated solution for analyzing memory use and locating memory problems. MemoryScape includes scripts that enable developers to easily integrate MemoryScape into automated testing frameworks. Within these frameworks MemoryScape can produce plain text result files that are easy to parse, html files that are easy to post to collaborative web development infrastructures, and/or detailed binary heap files that can be studied and compared with interactive memory debugging sessions.
Ability to Save and Compare Memory States
MemoryScape allows the state of the heap to be saved, retrieved and compared with the current memory states or other saved states. Create reports that show the differences between memory states to ensure that changes fix the problem. Saving memory states lets developers trace the use of memory over time, often the best way to locate problems.
Program and Memory Information Reports
Memory debugging reports can be saved in HTML or text based reports allowing the results to be easily shared with team members.
Memory Debugging of MPI Programs
MemoryScape allows developers to easily memory debug parallel programs using MPI. Using simplified MPI launch facilities it is able to track memory allocations across all the MPI processes, enabling detailed analysis of the MPI processes and comparisons between processes.
Remote Memory Debugging
Using MemoryScape, application developers can memory debug processes running on remote machines just as if it were running locally.
Ability to View Contents of Blocks
MemoryScape provides a detailed view of the contents of any allocated block of memory and allows the contents of the block to be viewed in a variety of formats.