Debugging Memory Problems with MemoryScape : Chapter 2 Memory Tasks : Task 11: Viewing Corrupted Memory : Viewing Memory Contents

Viewing Memory Contents
The Memory Contents tab directly displays the information in memory. See Task 11: “Viewing Corrupted Memory”. This information is presented in a manner similar to such shell tools as od. Controls within this tab let specify how MemoryScape should display this information. For example, some of your choices are hexadecimal, octal, and character. (The default is hexadecimal) You can also change the number of bytes shown. The right area displays an ASCII representation of this information. The Bytes area lets you specify how many bytes are contained within each cell.
In this figure, notice that bytes are displayed using the same color as in the selected block at the top of the figure.
*
*
*
Now look at the data. When MemoryScape created a pre guard block, it used its default setting, which set bytes to 0x77. However, the eighth byte within the corrupted guard block contains a value of 0x41. All other values contain 0x77.
Notice also the boundary between the data in the corrupted block and the following block has two guard blocks: the following guard from one data allocation and the preceding guard of a second.
When the program that generated this program was run, guard block notification was set. This insured that execution was halted when the memory block containing the guard block was deallocated. This is a good starting point for trying to locate what caused the problem.

Rogue Wave Software, Inc.
Voice: (303) 473-9118
rwonlinedocs@roguewave.com