You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
123 lines
3.9 KiB
123 lines
3.9 KiB
;
|
|
; General memory management configuration parameters.
|
|
;
|
|
[Memory Management]
|
|
;
|
|
; Virtual Memory
|
|
;
|
|
; Turning on Virtual Memory forces all blocks to be aligned at the end of physical pages.
|
|
; This will cause GP faults if the memory is accessed beyond it's allocation limit.
|
|
;
|
|
; If Virtual Memory is enabled, then Virtual Align specifies the alignment of the block. This MUST
|
|
; be 4 for non x86 machines (this is enforced internally by EXCHMEM.
|
|
;
|
|
VirtualMemory=0
|
|
VirtualAlign=0
|
|
|
|
;
|
|
; Leak Detection
|
|
;
|
|
; If AssertLeaks is non 0, EXCHMEM will assert when a leak has been detected.
|
|
; If DumpLeaks is non 0, EXCHMEM will dump information about the leak to the <program>.MEM file located in the
|
|
; log path directory.
|
|
; If DumpLeaksToDebugger is non 0, EXCHMEM will dump information about the leak to the debugger using OutputDebugString.
|
|
;
|
|
;
|
|
AssertLeaks=0
|
|
DumpLeaks=0
|
|
DumpLeaksToDebugger=1
|
|
|
|
;
|
|
; Memory Fill.
|
|
;
|
|
; If FillMemory is non 0, EXCHMEM will fill allocated memory with the "AllocFillByte", and will fill
|
|
; freed memory with the "FreeFillByte". Note that the high bit should be on in both AllocFillByte
|
|
; and FreeFillByte to force a GP fault if freed (or uninitialized) memory is ever accessed.
|
|
;
|
|
FillMemory=0
|
|
AllocFillByte=0xFA
|
|
FreeFillByte=0xCD
|
|
|
|
;
|
|
; Heap monitoring
|
|
;
|
|
; If MonitorHeap is non 0, and the DLL GLHMON32.DLL is present on the machine, This will invoke
|
|
; the MAPI heap monitor on all created heaps.
|
|
;
|
|
MonitorHeap=0
|
|
|
|
;
|
|
; If TrackMemory is non 0, this will cause all allocations and frees to be written to the <program>.TRK file
|
|
; located in the log path directory. TrackMemoryInMemory keeps an array of
|
|
; <n> entries around containing the last memory functions called. This array
|
|
; can be dumped using the xmdbgext.lib cdb extension functions DumpLast and
|
|
; DumpNear.
|
|
;
|
|
TrackMemory=0
|
|
TrackMemoryInMemory=1000
|
|
|
|
; Symbol information
|
|
;
|
|
; If SymbolLookup is non 0, EXCHMEM will perform a symbol lookup on addresses before dumping
|
|
; them to either the debugger or to the trace file.
|
|
;
|
|
; StackFrames specifies the number of stack frames to capture when retrieving the call stack
|
|
; of allocations (and frees).
|
|
; SymPath specifies the symbol path to be used when looking for symbols.
|
|
;
|
|
SymbolLookup=1
|
|
StackFrames=12
|
|
SymPath=
|
|
|
|
;
|
|
; If OverWriteDetect is non 0, this causes a 4 byte header and trailer to be added to each allocated
|
|
; block. This header is validated on every heap validation, and when memory is freed.
|
|
;
|
|
OverwriteDetect=1
|
|
|
|
;
|
|
; If ValidateMemory is set, then the block passed into every Realloc, Free, or HeapSize API is validated.
|
|
; If an invalid block is detected, then it is dumped to the <program>.VAL file in the log path directory.
|
|
;
|
|
; If AssertValid is set, then an assert is raised when an invalid block is detected.
|
|
; If TrapOnInvalid is set, then a DebugBreak() exception is raised after the block was detected.
|
|
;
|
|
ValidateMemory=1
|
|
AssertValid=0
|
|
TrapOnInvalid=1
|
|
|
|
;
|
|
; If TrackFreedMemory is set, EXCHMEM does not actually release freed blocks to the heap. Instead, it keeps
|
|
; the blocks on a free list and checks to see if a block being freed is on that list. This allows double
|
|
; frees to be detected.
|
|
;
|
|
; FreeMemorySize is the number of freed blocks to maintain.
|
|
;
|
|
TrackFreedMemory=1
|
|
FreedMemorySize=512
|
|
|
|
;
|
|
; LogPath specifies the directory to write the <program>.TRK, <program>,MEM, and <program>.VAL files.
|
|
;
|
|
LogPath=c:\exchsrvr
|
|
|
|
;
|
|
; Artifical failures. This describes how often calls to the allocator should fail.
|
|
;
|
|
[Heap Resource Failures]
|
|
FailuresEnabled=0
|
|
AllocsToFirstFailure=0
|
|
FailureInterval=0
|
|
FailureSize=0
|
|
FaultingAllocationNumber=0
|
|
;
|
|
; The "Apps To Track" section specifies the applications that are to run
|
|
; with EXCHMEM debugging enabled. By default, debugging is NOT enabled.
|
|
;
|
|
|
|
[Apps To Track]
|
|
mad=0
|
|
store=0
|
|
dsamain=0
|
|
emsmta=0
|
|
|