Heap Layer Advanced Settings
The Heap Layer Advanced Settings provide the opportunity to alter how memory is used within the heap tests and where to place the memory protection:
The Conserve Memory setting determines whether guard pages are used during heap validation. The two values for this setting are:
Yes - may delay detection of corruption: In this case, the Heap test does not use guard pages at the end of the application's memory allocation in an effort to conserve the available memory on the computer. This will run a light PageHeap and may delay the detection of corruptions as it will take longer to uncover problems under these less strenuous conditions.
No: This is the default selection. In this case, guard pages are set at the beginning or the end of the application's memory allocation. This option uses more memory for the test but enables a full PageHeap to determine if the allocation attempts to use more memory than what has been allocated. It will identify problems quicker than selecting Yes. The default selection for this option is to put the guard pages at the end of the memory allocation.
The Protection Location setting lets you select where to place the guard pages for the memory protection used in the Heap test. This setting will not be available if the Conserve Memory setting is set to 'Yes' and the value has been applied to the project. The two possible values are:
Protection before the allocation: This will place the guard page at the beginning of the allocation. This will catch buffer underruns in your application, which are not common.
Protection at the end of the allocation: This is the default selection.This will place the guard page at the end of the allocation. This will catch buffer overruns in your application, which are quite common.