How Can I Find Out If My Pointers Corrupt a Memory Address?
Note
This article applies to Visual Studio 2015. If you're looking for the latest Visual Studio documentation, see Visual Studio documentation. We recommend upgrading to the latest version of Visual Studio. Download it here
Problem Description
I think that one of my pointers may be corrupting memory at address 0x00408000. How can I find out what is happening there?
Solution
Check for heap corruption
- Most memory corruption is actually due to heap corruption. Try using the Global Flags Utility (gflags.exe) or pageheap.exe. See GFlags and PageHeap and How to use the PageHeap utility to detect memory errors in a Microsoft Visual C++ project.
To find where the memory address is modified
Set a data breakpoint at 0x00408000. See Set a data change breakpoint (native C++ only).
When you hit the breakpoint, use the Memory window to view memory contents starting at 0x00408000. For more information, see Memory Windows.