Rogue Wave Knowledge Base
Browse by category:
Knowledgebase | Glossary | Ask a Question |

Using MemoryScape and TotalView together

Article ID: 1459
Last updated: 28 Jun, 2012
Revision: 1
print  Print
share  Share
Views: 1528
Posted: 08 Jun, 2012
by --
Updated: 28 Jun, 2012

 TotalView and MemoryScape can be used together providing you have the appropriate licenses for the products and the number of processes you are debugging. TotalView Enterprise and Team licenses include both the integrated as well as stand-alone MemoryScape.

1. Use MemoryScape within a TotalView debugging session. 

The TotalView Debug menu provides an Open MemoryScape option which will open up MemoryScape on the program that you are debugging. Both interfaces will be open and either one can be used to start or stop the target program. 

An advantage of this usage mode is that MemoryScape will coordinate with TotalView to provide pointer annotation on all pointers that point into the heap. This feature will tell you if the pointer you are examining is pointing at a valid memory allocation, is dangling (pointing at an allocation that has been freed), or doesn't point at the heap at all. 

Memory debugging should be enabled on the target program when it is started to ensure that MemoryScape will be able to build a complete and valid heap map, necessary for performing analysis. 

2. Use TotalView within a MemoryScape debugging session. 

If you start out debugging a program with MemoryScape and decide that you need to look more closely at your process, you can bring up TotalView by clicking on the bug icon on the toolbar. This will start up TotalView focused on the program that you were debugging with MemoryScape. 

This usage mode provides the same advantage described in mode 1: MemoryScape will coordinate with TotalView to provide pointer annotation on all pointers that point into the heap. 

You must have both MemoryScape and TotalView licenses for this mode. 

I'd like to point out that if you really want to explore the behavior of your program you can actually run a debugging session which simultaneously uses TotalView, MemoryScape, and ReplayEngine to provide a powerful and complete view into your program, its heap memory allocation behavior and its execution history.

This article was:   Helpful | Not helpful Report an issue

Prev     Next
How does MemoryScape (included in TotalView) provide you with...       How do I navigate all the source code files that make up my...

Others in this category
b When freeing storage, your program crashes
b How does MemoryScape (included in TotalView) provide you with the ability to see exactly which code objects, functions and allocations are using up the most memory
b How do I navigate all the source code files that make up my program?
b What is the CLI and why bother?
b How do I configure the CLI xterm?
b How do I debug executables linked with shared libraries?
b How do I see what TotalView executes when I use mpirun?
b Using the Attach Subset Command
b Using wide characters
b How can I use ssh instead of rsh to launch tvdsvr processes?
b Creating default preferences
b Using gnu_debuglink files
b Memory
b Memory: Leaks and dangling pointers
b Why using realloc() can cause problems
b How do I find memory leaks?
b Can TotalView tell me when a memory block is deallocated?
b Painting allocated and deallocated memory
b Visualizing the heap
b Filtering memory information
b Setting event notifications
b Memory Event Actions Dialog Box
b Saving view information
b Using guard blocks
b Setting and using baselines
b How do I tell TotalView how to process a signal?
b How do I stop TotalView from popping up `Stop Process' questions?
b Why am I seeing assembler instead of source code?
b The Search Path and TotalView Built-in Functions
b Creating a Search Path Directory Tree
b How do I set the way TotalView handles signals?
b How do I set (or reset) command arguments?
b Startup (Part 2): The command line
b Startup (Part 3): Preferences
b How do I manage my search path so TotalView finds my source files?
b How do I change command line arguments and variables?
b How do I get TotalView to start faster?
b New Program dialog
b Configuring TotalView for starting MPI programs
b How do I debug executables linked with shared libraries?
b How do I get back to where I was before I began diving?
b How do I use the Stack Frame pane?
b How do I know what state my processes and threads are in?
b How do I use the Action Points tab?
b How do I "go to a line"?
b Process Groups
b Thread Groups
b What do run controls run?
b More on the TOI, POI, & GOI
b How do I see global variables? You took away the Global Variables command!
b Using the TTF (Type Transformation Facility) to simplify structures?
b Examining memory
b Expressing expressions
b Seeing a variable's value in all threads or all processes
b Seeing changed variables
b Freezing Variable Window Data
b Displaying Returned Values When the Value Isn't Assigned to a Variable
b Locking the Address
b Examine syntax
b How do I display an array slice? That is, how do I display part of an array?
b Manipulating arrays
b How do I select which array values I want displayed?
b How do I display every 13th item in an array?
b More on dynamically allocated arrays
b How do I reexecute some code without restarting my program?
b Can TotalView animate how my array data is changing?
b How do I animate an array slice?
b Evaluating expressions
b Evaluating expressions containing functions
b Why is there expression evaluation within TotalView?
b Using the call graph
b How do I save a call graph?
b How do I see which files my application is performing I/O Upon?
b Starting MPI programs from a shell