Memory Access Operation In The Context Of An Allocated Block: Heap Overrun or Heap Underrun

Application Verifier stop message

Heap violation detected. Memory access operation in the context of an allocated block: heap overrun or heap underrun.

Probable cause

This error occurs if there is a buffer overrun or underrun in an allocated heap block. There are two causes for this error:

  1. If you have set the Overrun Protection setting to overrun, this break is due to a buffer overrun.

  2. If you have set the Overrun Protection setting to underrun, this break is due to a buffer underrun.

This exception occurs when the heap verifier places a non-accessible page at the end or beginning of a heap allocation and a buffer overrun or underrun touches the page.

Information displayed by Application Verifier in Tool Window

Heap Handle - Heap handle for the heap owning the block

Block address - Heap block address

Size - Size of the Heap block

Description - Heap violation detected. Memory access operation in the context of an allocated block: heap overrun or heap underrun.

Trace description - Saved Stack Frames for the HeapAlloc/malloc/new operation

Additional information

The call stack in the Tool Window shows where the heap memory was allocated. The current call stack shows where the memory overrun or underrun is occurring.

See Also

Concepts

Heap Verifier