MemoryScape for Builder Engineers

After you've built the program, you're ready to move to the next phase: running a test suite that insures that the program actually runs, and that it passes all of its tests.

While you can create tests that evaluate the program's features, it is much harder to create tests that evaluate how the program uses memory. This is the problem that MemoryScape solves.

 

Heap Graphical Report

 

MemoryScape can be integrated into your test suite so that it is run every time it is run. It can produce information in several different ways. It can be told to stop execution when the program misuses malloc library routines. It can even be told to stop execution just before the program exits so that you can interactively examine memory state.

And, of course, we do all of this for multi-threaded and multi-core programs.

 

Block Properties

Reporting Information

MemoryScape excels at creating interactive reports that can be explored to locate problems. With other memory products, "explore" means wading though pages and pages and pages of information. This isn't our approach. Instead, MemoryScape creates an interactive HTML report that you give your developers so that they can identify where problems occur. For example, we show the call stack that existed when a block was allocated and perhaps deallocated.

Rather than tell you about our reporting features, you should see them for yourself by exploring a sample that we placed on our web site.

You can, of course, archive the reports you create. This archive lets you monitor memory changes so that you can get back to developers when problems arise.

 

Saving State

You can also save memory state information so that it can be read back into MemoryScape. After it is read back in, you can use MemoryScape data analysis features on this information, and use them in the same way as if the program were executing.

You can also compare saved states against the state of the currently executing program or even compare two saved states. By sharing this information with developers, you are providing addiitional information for locating the problem.